Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c1796c2 authored by Kurt Partridge's avatar Kurt Partridge
Browse files

Make intents unique to AOSP

This is to avoid confusion if multiple IMEs are installed with
dictionary pack components

Change-Id: Ibc91951e4fdd5db13f681e4cb06197da98527bbc
parent 0b7cd6a0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@

        <receiver android:name=".DictionaryPackInstallBroadcastReceiver">
            <intent-filter>
                <action android:name="com.android.inputmethod.dictionarypack.UNKNOWN_CLIENT" />
                <action android:name="com.android.inputmethod.dictionarypack.aosp.UNKNOWN_CLIENT" />
            </intent-filter>
        </receiver>

@@ -129,7 +129,7 @@
            <intent-filter>
                <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
                <action android:name="android.intent.action.DATE_CHANGED" />
                <action android:name="com.android.inputmethod.latin.dictionarypack.UPDATE_NOW" />
                <action android:name="com.android.inputmethod.dictionarypack.aosp.UPDATE_NOW" />
            </intent-filter>
        </receiver>

+9 −2
Original line number Diff line number Diff line
@@ -28,13 +28,13 @@ public class DictionaryPackConstants {
     * The root domain for the dictionary pack, upon which authorities and actions will append
     * their own distinctive strings.
     */
    private static final String DICTIONARY_DOMAIN = "com.android.inputmethod.dictionarypack";
    private static final String DICTIONARY_DOMAIN = "com.android.inputmethod.dictionarypack.aosp";

    /**
     * Authority for the ContentProvider protocol.
     */
    // TODO: find some way to factorize this string with the one in the resources
    public static final String AUTHORITY = DICTIONARY_DOMAIN + ".aosp";
    public static final String AUTHORITY = DICTIONARY_DOMAIN;

    /**
     * The action of the intent for publishing that new dictionary data is available.
@@ -52,7 +52,14 @@ public class DictionaryPackConstants {
     */
    public static final String UNKNOWN_DICTIONARY_PROVIDER_CLIENT = DICTIONARY_DOMAIN
            + ".UNKNOWN_CLIENT";

    // In the above intents, the name of the string extra that contains the name of the client
    // we want information about.
    public static final String DICTIONARY_PROVIDER_CLIENT_EXTRA = "client";

    /**
     * The action of the intent to tell the dictionary provider to update now.
     */
    public static final String UPDATE_NOW_INTENT_ACTION = DICTIONARY_DOMAIN
            + ".UPDATE_NOW";
}
+3 −8
Original line number Diff line number Diff line
@@ -54,12 +54,7 @@ public final class DictionaryService extends Service {
    /**
     * The package name, to use in the intent actions.
     */
    private static final String PACKAGE_NAME = "com.android.android.inputmethod.latin";

    /**
     * The action of the intent to tell the dictionary provider to update now.
     */
    private static final String UPDATE_NOW_INTENT_ACTION = PACKAGE_NAME + ".UPDATE_NOW";
    private static final String PACKAGE_NAME = "com.android.inputmethod.latin";

    /**
     * The action of the date changing, used to schedule a periodic freshness check
@@ -173,7 +168,7 @@ public final class DictionaryService extends Service {
            // at midnight local time, but it may happen if the user changes the date
            // by hand or something similar happens.
            checkTimeAndMaybeSetupUpdateAlarm(context);
        } else if (UPDATE_NOW_INTENT_ACTION.equals(intent.getAction())) {
        } else if (DictionaryPackConstants.UPDATE_NOW_INTENT_ACTION.equals(intent.getAction())) {
            // Intent to trigger an update now.
            UpdateHandler.update(context, false);
        } else {
@@ -196,7 +191,7 @@ public final class DictionaryService extends Service {
        // It doesn't matter too much if this is very inexact.
        final long now = System.currentTimeMillis();
        final long alarmTime = now + new Random().nextInt(MAX_ALARM_DELAY);
        final Intent updateIntent = new Intent(DictionaryService.UPDATE_NOW_INTENT_ACTION);
        final Intent updateIntent = new Intent(DictionaryPackConstants.UPDATE_NOW_INTENT_ACTION);
        final PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0,
                updateIntent, PendingIntent.FLAG_CANCEL_CURRENT);