This app now has an icon (finally)git statusgit statusgit status Add a credits page in settings. Use another error view and no comment placeholder.

This commit is contained in:
Alex Ning
2019-08-27 16:46:46 +08:00
parent fe82b5686e
commit 3b0eb15646
49 changed files with 560 additions and 230 deletions

View File

@@ -0,0 +1,19 @@
package Settings;
import android.os.Bundle;
import androidx.preference.PreferenceFragmentCompat;
import ml.docilealligator.infinityforreddit.R;
/**
* A simple {@link PreferenceFragmentCompat} subclass.
*/
public class AboutPreferenceFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.about_preferences, rootKey);
}
}

View File

@@ -0,0 +1,110 @@
package Settings;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import ml.docilealligator.infinityforreddit.LinkResolverActivity;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.SharedPreferencesUtils;
/**
* A simple {@link PreferenceFragmentCompat} subclass.
*/
public class CreditsPreferenceFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.credits_preferences, rootKey);
Preference iconForegroundPreference = findPreference(SharedPreferencesUtils.ICON_FOREGROUND_KEY);
Preference iconBackgroundPreference = findPreference(SharedPreferencesUtils.ICON_BACKGROUND_KEY);
Preference errorImagePreference = findPreference(SharedPreferencesUtils.ERROR_IMAGE_KEY);
Preference placeholderPreference = findPreference(SharedPreferencesUtils.SUBREDDIT_AND_USER_PLACEHOLDER_KEY);
Preference gildedIconPreference = findPreference(SharedPreferencesUtils.GILDED_ICON_KEY);
Preference crosspostIconPreference = findPreference(SharedPreferencesUtils.CROSSPOST_ICON_KEY);
Preference thumbtackIconPreference = findPreference(SharedPreferencesUtils.THUMBTACK_ICON_KEY);
Preference materialIconsPreference = findPreference(SharedPreferencesUtils.MATERIAL_ICONS_KEY);
Activity activity = getActivity();
if(activity != null) {
if(iconForegroundPreference != null) {
iconForegroundPreference.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(activity, LinkResolverActivity.class);
intent.setData(Uri.parse("https://www.freepik.com/free-photos-vectors/technology"));
startActivity(intent);
return true;
});
}
if(iconBackgroundPreference != null) {
iconBackgroundPreference.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(activity, LinkResolverActivity.class);
intent.setData(Uri.parse("https://www.freepik.com/free-photos-vectors/background"));
startActivity(intent);
return true;
});
}
if(errorImagePreference != null) {
errorImagePreference.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(activity, LinkResolverActivity.class);
intent.setData(Uri.parse("https://www.freepik.com/free-photos-vectors/technology"));
startActivity(intent);
return true;
});
}
if(placeholderPreference != null) {
placeholderPreference.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(activity, LinkResolverActivity.class);
intent.setData(Uri.parse("https://www.freepik.com/free-photos-vectors/technology"));
startActivity(intent);
return true;
});
}
if(gildedIconPreference != null) {
gildedIconPreference.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(activity, LinkResolverActivity.class);
intent.setData(Uri.parse("https://br.flaticon.com/icone-gratis/medalha_1007239"));
startActivity(intent);
return true;
});
}
if(crosspostIconPreference != null) {
crosspostIconPreference.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(activity, LinkResolverActivity.class);
intent.setData(Uri.parse("https://www.flaticon.com/free-icon/crossed-arrows_2291"));
startActivity(intent);
return true;
});
}
if(thumbtackIconPreference != null) {
thumbtackIconPreference.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(activity, LinkResolverActivity.class);
intent.setData(Uri.parse("https://www.flaticon.com/free-icon/tack-save-button_61845#term=thumbtack&page=1&position=3"));
startActivity(intent);
return true;
});
}
if(materialIconsPreference != null) {
materialIconsPreference.setOnPreferenceClickListener(preference -> {
Intent intent = new Intent(activity, LinkResolverActivity.class);
intent.setData(Uri.parse("https://material.io/resources/icons/"));
startActivity(intent);
return true;
});
}
}
}
}

View File

@@ -24,6 +24,7 @@ import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES;
* A simple {@link PreferenceFragmentCompat} subclass.
*/
public class MainPreferenceFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.main_preferences, rootKey);

View File

@@ -325,7 +325,6 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVie
if(mPost.getGilded() > 0) {
((PostDetailViewHolder) holder).mGildedImageView.setVisibility(View.VISIBLE);
mGlide.load(R.drawable.gold).into(((PostDetailViewHolder) holder).mGildedImageView);
((PostDetailViewHolder) holder).mGildedNumberTextView.setVisibility(View.VISIBLE);
String gildedNumber = mActivity.getResources().getString(R.string.gilded_count, mPost.getGilded());
((PostDetailViewHolder) holder).mGildedNumberTextView.setText(gildedNumber);

View File

@@ -156,7 +156,7 @@ public class CommentsListingFragment extends Fragment implements FragmentCommuni
if(activity != null && isAdded()) {
mFetchCommentInfoLinearLayout.setVisibility(View.VISIBLE);
mFetchCommentInfoTextView.setText(stringResId);
mGlide.load(R.drawable.load_post_error_indicator).into(mFetchCommentInfoImageView);
mGlide.load(R.drawable.error_image).into(mFetchCommentInfoImageView);
}
}
}

View File

@@ -86,7 +86,7 @@ public class FollowedUsersListingFragment extends Fragment {
if (subscribedUserData == null || subscribedUserData.size() == 0) {
mRecyclerView.setVisibility(View.GONE);
mLinearLayout.setVisibility(View.VISIBLE);
mGlide.load(R.drawable.load_post_error_indicator).into(mImageView);
mGlide.load(R.drawable.error_image).into(mImageView);
} else {
mLinearLayout.setVisibility(View.GONE);
mRecyclerView.setVisibility(View.VISIBLE);

View File

@@ -29,7 +29,7 @@ class NotificationUtils {
return new NotificationCompat.Builder(context.getApplicationContext(), channelId)
.setContentTitle(title)
.setContentText(content)
.setSmallIcon(R.mipmap.ic_launcher)
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setStyle(new NotificationCompat.BigTextStyle()
.setSummaryText(summary)
.bigText(content))
@@ -49,7 +49,7 @@ class NotificationUtils {
.setContentTitle(title)
//set content text to support devices running API level < 24
.setContentText(content)
.setSmallIcon(R.mipmap.ic_launcher)
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setGroup(group)
.setGroupSummary(true)
.setAutoCancel(true);

View File

@@ -416,7 +416,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
if(activity != null && isAdded()) {
mFetchPostInfoLinearLayout.setVisibility(View.VISIBLE);
mFetchPostInfoTextView.setText(stringResId);
mGlide.load(R.drawable.load_post_error_indicator).into(mFetchPostInfoImageView);
mGlide.load(R.drawable.error_image).into(mFetchPostInfoImageView);
}
}

View File

@@ -299,7 +299,6 @@ class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView.ViewHo
if(gilded > 0) {
((DataViewHolder) holder).gildedImageView.setVisibility(View.VISIBLE);
mGlide.load(R.drawable.gold).into(((DataViewHolder) holder).gildedImageView);
((DataViewHolder) holder).gildedNumberTextView.setVisibility(View.VISIBLE);
String gildedNumber = mContext.getResources().getString(R.string.gilded_count, gilded);
((DataViewHolder) holder).gildedNumberTextView.setText(gildedNumber);

View File

@@ -10,4 +10,12 @@ public class SharedPreferencesUtils {
public static final String LAZY_MODE_INTERVAL_KEY = "lazy_mode_interval";
public static final String NSFW_KEY = "nsfw";
public static final String THEME_KEY = "theme";
public static final String ICON_FOREGROUND_KEY = "icon_foreground";
public static final String ICON_BACKGROUND_KEY = "icon_background";
public static final String ERROR_IMAGE_KEY = "error_image";
public static final String SUBREDDIT_AND_USER_PLACEHOLDER_KEY = "subreddit_and_user_profile_placeholder";
public static final String GILDED_ICON_KEY = "gilded_icon";
public static final String CROSSPOST_ICON_KEY = "crosspost_icon";
public static final String THUMBTACK_ICON_KEY = "thumbtack_icon";
public static final String MATERIAL_ICONS_KEY = "material_icons";
}

View File

@@ -162,7 +162,7 @@ public class SubredditListingFragment extends Fragment implements FragmentCommun
if(getActivity() != null && isAdded()) {
mFetchSubredditListingInfoLinearLayout.setVisibility(View.VISIBLE);
mFetchSubredditListingInfoTextView.setText(stringResId);
Glide.with(this).load(R.drawable.load_post_error_indicator).into(mFetchSubredditListingInfoImageView);
Glide.with(this).load(R.drawable.error_image).into(mFetchSubredditListingInfoImageView);
}
}

View File

@@ -100,7 +100,7 @@ public class SubscribedSubredditsListingFragment extends Fragment {
if (subscribedSubredditData == null || subscribedSubredditData.size() == 0) {
mRecyclerView.setVisibility(View.GONE);
mLinearLayout.setVisibility(View.VISIBLE);
mGlide.load(R.drawable.load_post_error_indicator).into(mImageView);
mGlide.load(R.drawable.error_image).into(mImageView);
} else {
mLinearLayout.setVisibility(View.GONE);
mRecyclerView.setVisibility(View.VISIBLE);

View File

@@ -141,7 +141,7 @@ public class UserListingFragment extends Fragment implements FragmentCommunicato
if(getActivity() != null && isAdded()) {
mFetchUserListingInfoLinearLayout.setVisibility(View.VISIBLE);
mFetchUserListingInfoTextView.setText(stringResId);
Glide.with(this).load(R.drawable.load_post_error_indicator).into(mFetchUserListingInfoImageView);
Glide.with(this).load(R.drawable.error_image).into(mFetchUserListingInfoImageView);
}
}

View File

@@ -258,7 +258,7 @@ public class ViewMessageActivity extends AppCompatActivity {
mProgressBar.setVisibility(View.GONE);
mFetchMessageInfoLinearLayout.setVisibility(View.VISIBLE);
mFetchMessageInfoTextView.setText(stringResId);
mGlide.load(R.drawable.load_post_error_indicator).into(mFetchMessageInfoImageView);
mGlide.load(R.drawable.error_image).into(mFetchMessageInfoImageView);
}
@Override

View File

@@ -655,7 +655,7 @@ public class ViewPostDetailActivity extends AppCompatActivity implements FlairBo
mFetchPostInfoLinearLayout.setVisibility(View.VISIBLE);
mFetchPostInfoLinearLayout.setOnClickListener(view -> fetchPostAndCommentsById(subredditId));
mFetchPostInfoTextView.setText(R.string.load_posts_error);
mGlide.load(R.drawable.load_post_error_indicator).into(mFetchPostInfoImageView);
mGlide.load(R.drawable.error_image).into(mFetchPostInfoImageView);
}
private void showMessage(int resId) {