aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMenny Even Danan <menny@evendanan.net>2016-02-26 05:56:13 +0000
committerMenny Even Danan <menny@evendanan.net>2016-02-26 05:56:13 +0000
commit5c5f024bafc55f8cda61dfed2946607c408efdbe (patch)
tree434983a53f57cb33e48279ecc577867ea06a44a0 /src/main
parent5b5dca2d97f7f557800a0a666e22fea03989d550 (diff)
downloadAnySoftKeyboard-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.java33
-rw-r--r--src/main/java/com/anysoftkeyboard/ui/settings/MainSettingsActivity.java4
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);
+ }
}