summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMeng Wang <mewan@google.com>2022-03-25 03:24:21 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-03-25 03:24:21 +0000
commit80a9cf561fa8b7b72f8beee692f42e48fc678350 (patch)
treef09f69f4311e54a4b412a51dfc9ea200986e16ee
parenta6c1be844581bf425eec1abec8492db1da28836f (diff)
parent2e031b271dafb068932ed80a72e96bb68492a2cb (diff)
downloadImsServiceEntitlement-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.java41
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) {