diff options
author | Suren Baghdasaryan <surenb@google.com> | 2017-04-10 16:48:06 -0700 |
---|---|---|
committer | Suren Baghdasaryan <surenb@google.com> | 2017-04-12 17:24:29 +0000 |
commit | 294590270c9149f59d40ee92bed5ff890dfbc983 (patch) | |
tree | c708efb6850f5d8115936406d5b743b225ae0944 | |
parent | 01e429c08e51291315890de9677151a7e0b6ad35 (diff) | |
download | OneTimeInitializer-294590270c9149f59d40ee92bed5ff890dfbc983.tar.gz |
Use BroadcastReceiver.goAsync() instead of a service.android-vts-8.0_r9android-vts-8.0_r8android-vts-8.0_r7android-vts-8.0_r6android-vts-8.0_r2android-vts-8.0_r13android-vts-8.0_r12android-vts-8.0_r11android-vts-8.0_r10android-vts-8.0_r1android-security-8.0.0_r54android-security-8.0.0_r53android-security-8.0.0_r52android-cts-8.0_r9android-cts-8.0_r8android-cts-8.0_r7android-cts-8.0_r6android-cts-8.0_r5android-cts-8.0_r4android-cts-8.0_r3android-cts-8.0_r26android-cts-8.0_r25android-cts-8.0_r24android-cts-8.0_r23android-cts-8.0_r22android-cts-8.0_r21android-cts-8.0_r20android-cts-8.0_r2android-cts-8.0_r19android-cts-8.0_r18android-cts-8.0_r17android-cts-8.0_r16android-cts-8.0_r15android-cts-8.0_r14android-cts-8.0_r13android-cts-8.0_r12android-cts-8.0_r11android-cts-8.0_r10android-cts-8.0_r1android-8.0.0_r9android-8.0.0_r7android-8.0.0_r51android-8.0.0_r50android-8.0.0_r49android-8.0.0_r48android-8.0.0_r47android-8.0.0_r46android-8.0.0_r45android-8.0.0_r44android-8.0.0_r43android-8.0.0_r42android-8.0.0_r41android-8.0.0_r40android-8.0.0_r4android-8.0.0_r39android-8.0.0_r38android-8.0.0_r37android-8.0.0_r36android-8.0.0_r35android-8.0.0_r32android-8.0.0_r31android-8.0.0_r30android-8.0.0_r3android-8.0.0_r29android-8.0.0_r28android-8.0.0_r2android-8.0.0_r17android-8.0.0_r16android-8.0.0_r15android-8.0.0_r13android-8.0.0_r12android-8.0.0_r11android-8.0.0_r10android-8.0.0_r1security-oc-releaseoreo-vts-releaseoreo-security-releaseoreo-releaseoreo-r6-releaseoreo-r5-releaseoreo-r4-releaseoreo-r3-releaseoreo-r2-releaseoreo-devoreo-cts-release
Bug: 36635931
Change-Id: Ib279354a345a89bdf1a3c9e20e8d951cc0e17fdf
(cherry picked from commit 725b26593c969a50a6e83f45414e0d46d490ec0f)
-rw-r--r-- | AndroidManifest.xml | 4 | ||||
-rw-r--r-- | src/com/android/onetimeinitializer/OneTimeInitializer.java (renamed from src/com/android/onetimeinitializer/OneTimeInitializerService.java) | 27 | ||||
-rw-r--r-- | src/com/android/onetimeinitializer/OneTimeInitializerReceiver.java | 18 |
3 files changed, 20 insertions, 29 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 2ed8f59..18675a7 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -33,9 +33,5 @@ android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver> - - <service - android:name=".OneTimeInitializerService"> - </service> </application> </manifest> diff --git a/src/com/android/onetimeinitializer/OneTimeInitializerService.java b/src/com/android/onetimeinitializer/OneTimeInitializer.java index cf72eae..aa37036 100644 --- a/src/com/android/onetimeinitializer/OneTimeInitializerService.java +++ b/src/com/android/onetimeinitializer/OneTimeInitializer.java @@ -16,7 +16,6 @@ package com.android.onetimeinitializer; -import android.app.IntentService; import android.content.ComponentName; import android.content.ContentResolver; import android.content.ContentValues; @@ -37,11 +36,8 @@ import java.util.Set; * BOOT_COMPLETED broadcast intent instead. This means, when the app is upgraded, the * initialization code here won't run until the device reboots. */ -public class OneTimeInitializerService extends IntentService { - - // class name is too long - private static final String TAG = OneTimeInitializerService.class.getSimpleName() - .substring(0, 22); +public class OneTimeInitializer { + private static final String TAG = OneTimeInitializer.class.getSimpleName(); // Name of the shared preferences file. private static final String SHARED_PREFS_FILE = "oti"; @@ -58,21 +54,16 @@ public class OneTimeInitializerService extends IntentService { private static final String LAUNCHER_INTENT_COLUMN = "intent"; private SharedPreferences mPreferences; + private Context mContext; - public OneTimeInitializerService() { - super("OneTimeInitializer Service"); - } - - @Override - public void onCreate() { - super.onCreate(); - mPreferences = getSharedPreferences(SHARED_PREFS_FILE, Context.MODE_PRIVATE); + OneTimeInitializer(Context context) { + mContext = context; + mPreferences = mContext.getSharedPreferences(SHARED_PREFS_FILE, Context.MODE_PRIVATE); } - @Override - protected void onHandleIntent(Intent intent) { + void initialize() { if (Log.isLoggable(TAG, Log.VERBOSE)) { - Log.v(TAG, "OneTimeInitializerService.onHandleIntent"); + Log.v(TAG, "OneTimeInitializer.initialize"); } final int currentVersion = getMappingVersion(); @@ -100,7 +91,7 @@ public class OneTimeInitializerService extends IntentService { } private void updateDialtactsLauncher() { - ContentResolver cr = getContentResolver(); + ContentResolver cr = mContext.getContentResolver(); Cursor c = cr.query(LAUNCHER_CONTENT_URI, new String[]{LAUNCHER_ID_COLUMN, LAUNCHER_INTENT_COLUMN}, null, null, null); if (c == null) { diff --git a/src/com/android/onetimeinitializer/OneTimeInitializerReceiver.java b/src/com/android/onetimeinitializer/OneTimeInitializerReceiver.java index 0f99a2b..07e6501 100644 --- a/src/com/android/onetimeinitializer/OneTimeInitializerReceiver.java +++ b/src/com/android/onetimeinitializer/OneTimeInitializerReceiver.java @@ -22,17 +22,21 @@ import android.content.Intent; import android.util.Log; /** - * BroadcastReceiver that starts the service to performs one time initialization - * at bootup time. + * BroadcastReceiver that performs one time initialization at bootup time. */ public class OneTimeInitializerReceiver extends BroadcastReceiver { - - private static final String TAG = OneTimeInitializerReceiver.class.getSimpleName() - .substring(0, 22); + private static final String TAG = "OneTimeInitializerReceiver"; @Override - public void onReceive(Context context, Intent intent) { + public void onReceive(final Context context, Intent intent) { Log.v(TAG, "OneTimeInitializerReceiver.onReceive"); - context.startService(new Intent(context, OneTimeInitializerService.class)); + final PendingResult result = goAsync(); + new Thread(() -> { + try { + new OneTimeInitializer(context).initialize(); + } finally { + result.finish(); + } + }).start(); } } |