diff options
author | Meng Wang <mewan@google.com> | 2022-03-25 03:24:21 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-03-25 03:24:21 +0000 |
commit | 80a9cf561fa8b7b72f8beee692f42e48fc678350 (patch) | |
tree | f09f69f4311e54a4b412a51dfc9ea200986e16ee | |
parent | a6c1be844581bf425eec1abec8492db1da28836f (diff) | |
parent | 2e031b271dafb068932ed80a72e96bb68492a2cb (diff) | |
download | ImsServiceEntitlement-80a9cf561fa8b7b72f8beee692f42e48fc678350.tar.gz |
FcmRegistration: lazily initialize Firebase objects am: a8683c33e6 am: 8e0a40638d am: 2e031b271dt_frc_odp_330442040t_frc_odp_330442000t_frc_ase_330444010android13-frc-odp-releaseandroid13-dev
Original change: https://android-review.googlesource.com/c/platform/packages/apps/ImsServiceEntitlement/+/2021376
Change-Id: I2ae3048fcba479466b03bc40db542322c8f13ed3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | src/com/android/imsserviceentitlement/fcm/FcmRegistrationService.java | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/src/com/android/imsserviceentitlement/fcm/FcmRegistrationService.java b/src/com/android/imsserviceentitlement/fcm/FcmRegistrationService.java index 8aaf419..184740d 100644 --- a/src/com/android/imsserviceentitlement/fcm/FcmRegistrationService.java +++ b/src/com/android/imsserviceentitlement/fcm/FcmRegistrationService.java @@ -68,21 +68,23 @@ public class FcmRegistrationService extends JobService { super.attachBaseContext(base); } - @Override - public void onCreate() { - super.onCreate(); - try { - mApp = FirebaseApp.getInstance(); - } catch (IllegalStateException e) { - Log.d(TAG, "initialize FirebaseApp"); - mApp = FirebaseApp.initializeApp( - this, - new FirebaseOptions.Builder() - .setApplicationId(getResources().getString(R.string.fcm_app_id)) - .setProjectId(getResources().getString(R.string.fcm_project_id)) - .setApiKey(getResources().getString(R.string.fcm_api_key)) - .build()); + /** Returns a {@link FirebaseApp} instance, lazily initialized. */ + private FirebaseApp getFirebaseApp() { + if (mApp == null) { + try { + mApp = FirebaseApp.getInstance(); + } catch (IllegalStateException e) { + Log.d(TAG, "initialize FirebaseApp"); + mApp = FirebaseApp.initializeApp( + this, + new FirebaseOptions.Builder() + .setApplicationId(getResources().getString(R.string.fcm_app_id)) + .setProjectId(getResources().getString(R.string.fcm_project_id)) + .setApiKey(getResources().getString(R.string.fcm_api_key)) + .build()); + } } + return mApp; } @Override @@ -109,13 +111,8 @@ public class FcmRegistrationService extends JobService { */ protected void onHandleWork(JobParameters params) { boolean wantsReschedule = false; - FirebaseInstanceId instanceID = getFirebaseInstanceId(); - if (instanceID == null) { - Log.d(TAG, "Cannot get fcm token because FirebaseInstanceId is null"); - return; - } for (int subId : TelephonyUtils.getSubIdsWithFcmSupported(this)) { - if (!updateFcmToken(instanceID, subId)) { + if (!updateFcmToken(getFirebaseInstanceId(), subId)) { wantsReschedule = true; } } @@ -137,7 +134,9 @@ public class FcmRegistrationService extends JobService { } private FirebaseInstanceId getFirebaseInstanceId() { - return (mFakeInstanceID != null) ? mFakeInstanceID : FirebaseInstanceId.getInstance(mApp); + return (mFakeInstanceID != null) + ? mFakeInstanceID + : FirebaseInstanceId.getInstance(getFirebaseApp()); } private String getTokenForSubId(FirebaseInstanceId instanceID, int subId) { |