mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-11-07 03:07:26 +01:00
Add more info in settings->about. Fix title mismatch in settings.
This commit is contained in:
parent
64390d4a5b
commit
4ac9784ab1
@ -1,11 +1,18 @@
|
||||
package Settings;
|
||||
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.widget.Toast;
|
||||
|
||||
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.
|
||||
@ -15,5 +22,60 @@ public class AboutPreferenceFragment extends PreferenceFragmentCompat {
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
setPreferencesFromResource(R.xml.about_preferences, rootKey);
|
||||
|
||||
Preference openSourcePreference = findPreference(SharedPreferencesUtils.OPEN_SOURCE_KEY);
|
||||
Preference reviewPreference = findPreference(SharedPreferencesUtils.RATE_KEY);
|
||||
Preference emailPreference = findPreference(SharedPreferencesUtils.EMAIL_KEY);
|
||||
Preference redditAccountPreference = findPreference(SharedPreferencesUtils.REDDIT_ACCOUNT_KEY);
|
||||
|
||||
Activity activity = getActivity();
|
||||
|
||||
if(activity != null) {
|
||||
if(openSourcePreference != null) {
|
||||
openSourcePreference.setOnPreferenceClickListener(preference -> {
|
||||
Intent intent = new Intent(activity, LinkResolverActivity.class);
|
||||
intent.setData(Uri.parse("https://github.com/Docile-Alligator/Infinity-For-Reddit"));
|
||||
startActivity(intent);
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
if(reviewPreference != null) {
|
||||
reviewPreference.setOnPreferenceClickListener(preference -> {
|
||||
Intent playStoreIntent = new Intent(Intent.ACTION_VIEW);
|
||||
playStoreIntent.setData(Uri.parse("market://details?id=ml.docilealligator.infinityforreddit"));
|
||||
if(playStoreIntent.resolveActivity(activity.getPackageManager()) != null) {
|
||||
activity.startActivity(playStoreIntent);
|
||||
} else {
|
||||
Intent intent = new Intent(activity, LinkResolverActivity.class);
|
||||
intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=ml.docilealligator.infinityforreddit"));
|
||||
startActivity(intent);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
if(emailPreference != null) {
|
||||
emailPreference.setOnPreferenceClickListener(preference -> {
|
||||
Intent intent = new Intent(Intent.ACTION_SENDTO);
|
||||
intent.setData(Uri.parse("mailto:docilealligator.app@gmail.com"));
|
||||
if(intent.resolveActivity(activity.getPackageManager()) != null) {
|
||||
startActivity(intent);
|
||||
} else {
|
||||
Toast.makeText(activity, R.string.no_email_client, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
if(redditAccountPreference != null) {
|
||||
redditAccountPreference.setOnPreferenceClickListener(preference -> {
|
||||
Intent intent = new Intent(activity, LinkResolverActivity.class);
|
||||
intent.setData(Uri.parse("https://www.reddit.com/user/Hostilenemy"));
|
||||
startActivity(intent);
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import androidx.preference.PreferenceFragmentCompat;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import Settings.AboutPreferenceFragment;
|
||||
import Settings.MainPreferenceFragment;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
@ -86,6 +87,8 @@ public class SettingsActivity extends AppCompatActivity implements
|
||||
getSupportFragmentManager().addOnBackStackChangedListener(() -> {
|
||||
if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
|
||||
setTitle(R.string.settings_activity_label);
|
||||
} else if (getSupportFragmentManager().findFragmentById(R.id.frame_layout_settings_activity) instanceof AboutPreferenceFragment) {
|
||||
setTitle(R.string.settings_about_master_title);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -17,4 +17,8 @@ public class SharedPreferencesUtils {
|
||||
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";
|
||||
public static final String OPEN_SOURCE_KEY = "open_source";
|
||||
public static final String RATE_KEY = "rate";
|
||||
public static final String EMAIL_KEY = "email";
|
||||
public static final String REDDIT_ACCOUNT_KEY = "reddit_account";
|
||||
}
|
||||
|
@ -288,6 +288,14 @@
|
||||
<string name="settings_credits_thumbtack_icon_title">Thumbtack Icon</string>
|
||||
<string name="settings_credits_thumbtack_icon_summary">Icon made by Freepik from www.flaticon.com</string>
|
||||
<string name="settings_credits_material_icons_title">Material Icons</string>
|
||||
<string name="settings_open_source_title">Open Source</string>
|
||||
<string name="settings_open_source_summary">Star it on Github if you like this app</string>
|
||||
<string name="settings_rate_title">Rate in Google Play</string>
|
||||
<string name="settings_rate_summary">Give me a 5-star rating and I will be really happy</string>
|
||||
<string name="settings_email_title">Email</string>
|
||||
<string name="settings_email_summary">docilealligator.app@gmail.com</string>
|
||||
<string name="settings_reddit_account_title">Reddit Account</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
|
||||
<string name="no_link_available">Cannot get the link</string>
|
||||
|
||||
@ -304,4 +312,6 @@
|
||||
<string name="cannot_handle_intent">Could not handle the share request</string>
|
||||
|
||||
<string name="share">Share</string>
|
||||
|
||||
<string name="no_email_client">No Email client found</string>
|
||||
</resources>
|
||||
|
@ -10,4 +10,24 @@
|
||||
app:title="@string/settings_credits_master_title"
|
||||
app:fragment="Settings.CreditsPreferenceFragment" />
|
||||
|
||||
<Preference
|
||||
android:key="open_source"
|
||||
app:title="@string/settings_open_source_title"
|
||||
app:summary="@string/settings_open_source_summary" />
|
||||
|
||||
<Preference
|
||||
android:key="rate"
|
||||
app:title="@string/settings_rate_title"
|
||||
app:summary="@string/settings_rate_summary" />
|
||||
|
||||
<Preference
|
||||
android:key="email"
|
||||
app:title="@string/settings_email_title"
|
||||
app:summary="@string/settings_email_summary" />
|
||||
|
||||
<Preference
|
||||
android:key="reddit_account"
|
||||
app:title="@string/settings_reddit_account_title"
|
||||
app:summary="@string/settings_reddit_account_summary" />
|
||||
|
||||
</PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user