diff options
author | 2015-07-15 13:32:50 -0700 | |
---|---|---|
committer | 2015-07-15 22:51:53 +0000 | |
commit | 604158669b407a40cd0f23538fad4dce5d738f24 (patch) | |
tree | 85aab20d4da9aa12bdd409ce04541db25de1e2f4 /java/src/com/android/inputmethod/latin/LatinIME.java | |
parent | 7d5fb3a9430550a3ccf1ed5afd70dbf8cc81574a (diff) | |
download | latinime-604158669b407a40cd0f23538fad4dce5d738f24.tar.gz latinime-604158669b407a40cd0f23538fad4dce5d738f24.tar.xz latinime-604158669b407a40cd0f23538fad4dce5d738f24.zip |
[LatinIME] Support MNC permissions.
This build has been compiled against API 23
This build is approved to go out with the M OTA, but may NOT be released
to the public until the Play Store has enabled API level 23 apps
Version: 4.1.2300x.build_id
1. Replaces the personalization is on information with the suggest
contacts.
2. Enables "Use Contacts" only if the app has permission to read
contacts.
3. Disables the contacts dictionary in the Facilitator.
4. Do not register/read the contacts in the contact observer.
Bug: 22236416
Change-Id: I9674e13d0d0f4a2014c5024fde0178de684c07e7
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LatinIME.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 089670ebf..1f2b6f25d 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -20,6 +20,7 @@ import static com.android.inputmethod.latin.common.Constants.ImeOption.FORCE_ASC import static com.android.inputmethod.latin.common.Constants.ImeOption.NO_MICROPHONE; import static com.android.inputmethod.latin.common.Constants.ImeOption.NO_MICROPHONE_COMPAT; +import android.Manifest.permission; import android.app.AlertDialog; import android.content.BroadcastReceiver; import android.content.Context; @@ -73,6 +74,7 @@ import com.android.inputmethod.latin.common.InputPointers; import com.android.inputmethod.latin.define.DebugFlags; import com.android.inputmethod.latin.define.ProductionFlags; import com.android.inputmethod.latin.inputlogic.InputLogic; +import com.android.inputmethod.latin.permissions.PermissionsManager; import com.android.inputmethod.latin.personalization.PersonalizationHelper; import com.android.inputmethod.latin.settings.Settings; import com.android.inputmethod.latin.settings.SettingsActivity; @@ -106,7 +108,7 @@ import javax.annotation.Nonnull; public class LatinIME extends InputMethodService implements KeyboardActionListener, SuggestionStripView.Listener, SuggestionStripViewAccessor, DictionaryFacilitator.DictionaryInitializationListener, - ImportantNoticeDialog.ImportantNoticeDialogListener { + PermissionsManager.PermissionsResultCallback { static final String TAG = LatinIME.class.getSimpleName(); private static final boolean TRACE = false; @@ -1251,18 +1253,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // pressed. @Override public void showImportantNoticeContents() { - showOptionDialog(new ImportantNoticeDialog(this /* context */, this /* listener */)); + PermissionsManager.get(this).requestPermissions( + this /* PermissionsResultCallback */, + null /* activity */, permission.READ_CONTACTS); } - // Implement {@link ImportantNoticeDialog.ImportantNoticeDialogListener} @Override - public void onClickSettingsOfImportantNoticeDialog(final int nextVersion) { - launchSettings(SettingsActivity.EXTRA_ENTRY_VALUE_NOTICE_DIALOG); - } - - // Implement {@link ImportantNoticeDialog.ImportantNoticeDialogListener} - @Override - public void onUserAcknowledgmentOfImportantNoticeDialog(final int nextVersion) { + public void onRequestPermissionsResult(boolean allGranted) { + ImportantNoticeUtils.updateContactsNoticeShown(this /* context */); setNeutralSuggestionStrip(); } |