Added a shortcut in advanced preferences to go directly in Android app settings

This commit is contained in:
Sylvain Berfini 2016-08-02 14:47:14 +02:00
parent 3b885639d0
commit f4973b3809
4 changed files with 27 additions and 0 deletions

View file

@ -204,4 +204,5 @@
<string name="pref_use_lime_encryption_key">pref_use_lime_encryption_key</string>
<string name="pref_device_ringtone_key">pref_device_ringtone_key</string>
<string name="pref_auto_answer_key">pref_auto_answer_key</string>
<string name="pref_android_app_settings_key">pref_android_app_settings_key</string>
</resources>

View file

@ -312,6 +312,7 @@
<string name="pref_autostart">Start at boot time</string>
<string name="pref_incoming_call_timeout_title">Incoming call hangup (in seconds)</string>
<string name="pref_remote_provisioning_title">Remote provisioning</string>
<string name="pref_android_app_settings_title">Android app settings</string>
<string name="pref_primary_account_title">Primary account</string>
<string name="pref_display_name_title">Display name</string>
<string name="pref_user_name_title">Username</string>

View file

@ -345,6 +345,11 @@
android:key="@string/pref_remote_provisioning_key"
android:inputType="textUri"
android:persistent="false"/>
<Preference
android:title="@string/pref_android_app_settings_title"
android:key="@string/pref_android_app_settings_key"
android:persistent="false"/>
</PreferenceCategory>

View file

@ -48,6 +48,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.media.AudioManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.preference.CheckBoxPreference;
@ -58,6 +59,7 @@ import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceCategory;
import android.preference.PreferenceScreen;
import android.provider.Settings;
/**
* @author Sylvain Berfini
@ -1146,6 +1148,24 @@ public class SettingsFragment extends PreferencesListFragment {
return true;
}
});
findPreference(getString(R.string.pref_android_app_settings_key)).setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
synchronized (SettingsFragment.this) {
Context context = SettingsFragment.this.getActivity();
Intent i = new Intent();
i.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setData(Uri.parse("package:" + context.getPackageName()));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
context.startActivity(i);
}
return true;
}
});
findPreference(getString(R.string.pref_display_name_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override