diff options
| author | Menny Even Danan <menny@evendanan.net> | 2016-02-26 05:56:13 +0000 |
|---|---|---|
| committer | Menny Even Danan <menny@evendanan.net> | 2016-02-26 05:56:13 +0000 |
| commit | 5c5f024bafc55f8cda61dfed2946607c408efdbe (patch) | |
| tree | 434983a53f57cb33e48279ecc577867ea06a44a0 /src/main | |
| parent | 5b5dca2d97f7f557800a0a666e22fea03989d550 (diff) | |
| download | AnySoftKeyboard-5c5f024bafc55f8cda61dfed2946607c408efdbe.tar.gz AnySoftKeyboard-5c5f024bafc55f8cda61dfed2946607c408efdbe.tar.bz2 | |
requesting Contacts again when user enables dictionary. #470
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/com/anysoftkeyboard/ui/settings/DictionariesFragment.java | 33 | ||||
| -rw-r--r-- | src/main/java/com/anysoftkeyboard/ui/settings/MainSettingsActivity.java | 4 |
2 files changed, 21 insertions, 16 deletions
diff --git a/src/main/java/com/anysoftkeyboard/ui/settings/DictionariesFragment.java b/src/main/java/com/anysoftkeyboard/ui/settings/DictionariesFragment.java index bd31715cc..4d0829509 100644 --- a/src/main/java/com/anysoftkeyboard/ui/settings/DictionariesFragment.java +++ b/src/main/java/com/anysoftkeyboard/ui/settings/DictionariesFragment.java @@ -17,16 +17,17 @@ package com.anysoftkeyboard.ui.settings; -import android.app.Activity; +import android.Manifest; import android.os.Bundle; +import android.preference.CheckBoxPreference; import android.preference.Preference; import android.support.v4.preference.PreferenceFragment; +import com.anysoftkeyboard.PermissionsRequestCodes; import com.anysoftkeyboard.ui.settings.wordseditor.AbbreviationDictionaryEditorFragment; import com.anysoftkeyboard.ui.settings.wordseditor.UserDictionaryEditorFragment; import com.menny.android.anysoftkeyboard.R; -import net.evendanan.chauffeur.lib.FragmentChauffeurActivity; import net.evendanan.chauffeur.lib.experiences.TransitionExperiences; public class DictionariesFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener { @@ -38,6 +39,7 @@ public class DictionariesFragment extends PreferenceFragment implements Preferen findPreference(getString(R.string.user_dict_editor_key)).setOnPreferenceClickListener(this); findPreference(getString(R.string.abbreviation_dict_editor_key)).setOnPreferenceClickListener(this); findPreference(getString(R.string.next_word_dict_settings_key)).setOnPreferenceClickListener(this); + findPreference(getString(R.string.settings_key_use_contacts_dictionary)).setOnPreferenceClickListener(this); } @Override @@ -48,23 +50,22 @@ public class DictionariesFragment extends PreferenceFragment implements Preferen @Override public boolean onPreferenceClick(Preference preference) { + MainSettingsActivity activity = (MainSettingsActivity) getActivity(); + if (activity == null) return false; if (preference.getKey().equals(getString(R.string.user_dict_editor_key))) { - Activity activity = getActivity(); - if (activity != null && activity instanceof FragmentChauffeurActivity) { - ((FragmentChauffeurActivity)activity).addFragmentToUi(new UserDictionaryEditorFragment(), TransitionExperiences.DEEPER_EXPERIENCE_TRANSITION); - return true; - } + activity.addFragmentToUi(new UserDictionaryEditorFragment(), TransitionExperiences.DEEPER_EXPERIENCE_TRANSITION); + return true; } else if (preference.getKey().equals(getString(R.string.abbreviation_dict_editor_key))) { - Activity activity = getActivity(); - if (activity != null && activity instanceof FragmentChauffeurActivity) { - ((FragmentChauffeurActivity)activity).addFragmentToUi(new AbbreviationDictionaryEditorFragment(), TransitionExperiences.DEEPER_EXPERIENCE_TRANSITION); - return true; - } + activity.addFragmentToUi(new AbbreviationDictionaryEditorFragment(), TransitionExperiences.DEEPER_EXPERIENCE_TRANSITION); + return true; } else if (preference.getKey().equals(getString(R.string.next_word_dict_settings_key))) { - Activity activity = getActivity(); - if (activity != null && activity instanceof FragmentChauffeurActivity) { - ((FragmentChauffeurActivity)activity).addFragmentToUi(new NextWordSettingsFragment(), TransitionExperiences.DEEPER_EXPERIENCE_TRANSITION); - return true; + activity.addFragmentToUi(new NextWordSettingsFragment(), TransitionExperiences.DEEPER_EXPERIENCE_TRANSITION); + return true; + } else if (preference.getKey().equals(getString(R.string.settings_key_use_contacts_dictionary))) { + if (((CheckBoxPreference) preference).isChecked()) { + //user enabled Contacts! + //ensuring we have permission to use it + activity.startPermissionsRequestAsActivity(PermissionsRequestCodes.CONTACTS.getRequestCode(), Manifest.permission.READ_CONTACTS); } } return false; diff --git a/src/main/java/com/anysoftkeyboard/ui/settings/MainSettingsActivity.java b/src/main/java/com/anysoftkeyboard/ui/settings/MainSettingsActivity.java index 1d465bfee..f5b3beb37 100644 --- a/src/main/java/com/anysoftkeyboard/ui/settings/MainSettingsActivity.java +++ b/src/main/java/com/anysoftkeyboard/ui/settings/MainSettingsActivity.java @@ -301,4 +301,8 @@ public class MainSettingsActivity extends PermissionsFragmentChauffeurActivity { mAlertDialog.show(); } } + + public void startPermissionsRequestAsActivity(int requestCode, String permission) { + startPermissionsRequest(requestCode, permission); + } } |
