summaryrefslogtreecommitdiffstats
path: root/src/com/android/messaging/FactoryImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/messaging/FactoryImpl.java')
-rw-r--r--src/com/android/messaging/FactoryImpl.java245
1 files changed, 0 insertions, 245 deletions
diff --git a/src/com/android/messaging/FactoryImpl.java b/src/com/android/messaging/FactoryImpl.java
deleted file mode 100644
index a862308..0000000
--- a/src/com/android/messaging/FactoryImpl.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.messaging;
-
-import android.content.Context;
-import android.os.Process;
-import android.telephony.SmsManager;
-import android.util.SparseArray;
-
-import com.android.messaging.datamodel.DataModel;
-import com.android.messaging.datamodel.DataModelImpl;
-import com.android.messaging.datamodel.MemoryCacheManager;
-import com.android.messaging.datamodel.ParticipantRefresh.ContactContentObserver;
-import com.android.messaging.datamodel.data.ParticipantData;
-import com.android.messaging.datamodel.media.BugleMediaCacheManager;
-import com.android.messaging.datamodel.media.MediaCacheManager;
-import com.android.messaging.datamodel.media.MediaResourceManager;
-import com.android.messaging.sms.BugleCarrierConfigValuesLoader;
-import com.android.messaging.ui.UIIntents;
-import com.android.messaging.ui.UIIntentsImpl;
-import com.android.messaging.util.Assert;
-import com.android.messaging.util.BugleApplicationPrefs;
-import com.android.messaging.util.BugleGservices;
-import com.android.messaging.util.BugleGservicesImpl;
-import com.android.messaging.util.BuglePrefs;
-import com.android.messaging.util.BugleSubscriptionPrefs;
-import com.android.messaging.util.BugleWidgetPrefs;
-import com.android.messaging.util.LogUtil;
-import com.android.messaging.util.MediaUtil;
-import com.android.messaging.util.MediaUtilImpl;
-import com.android.messaging.util.OsUtil;
-import com.android.messaging.util.PhoneUtils;
-
-import java.util.concurrent.ConcurrentHashMap;
-
-class FactoryImpl extends Factory {
- private BugleApplication mApplication;
- private DataModel mDataModel;
- private BugleGservices mBugleGservices;
- private BugleApplicationPrefs mBugleApplicationPrefs;
- private BugleWidgetPrefs mBugleWidgetPrefs;
- private Context mApplicationContext;
- private UIIntents mUIIntents;
- private MemoryCacheManager mMemoryCacheManager;
- private MediaResourceManager mMediaResourceManager;
- private MediaCacheManager mMediaCacheManager;
- private ContactContentObserver mContactContentObserver;
- private PhoneUtils mPhoneUtils;
- private MediaUtil mMediaUtil;
- private SparseArray<BugleSubscriptionPrefs> mSubscriptionPrefs;
- private BugleCarrierConfigValuesLoader mCarrierConfigValuesLoader;
-
- // Cached instance for Pre-L_MR1
- private static final Object PHONEUTILS_INSTANCE_LOCK = new Object();
- private static PhoneUtils sPhoneUtilsInstancePreLMR1 = null;
- // Cached subId->instance for L_MR1 and beyond
- private static final ConcurrentHashMap<Integer, PhoneUtils> sPhoneUtilsInstanceCacheLMR1 =
- new ConcurrentHashMap<>();
-
- private FactoryImpl() {
- }
-
- public static Factory register(final Context applicationContext,
- final BugleApplication application) {
- // This only gets called once (from BugleApplication.onCreate), but its not called in tests.
- Assert.isTrue(!sRegistered);
- Assert.isNull(Factory.get());
-
- final FactoryImpl factory = new FactoryImpl();
- Factory.setInstance(factory);
- sRegistered = true;
-
- // At this point Factory is published. Services can now get initialized and depend on
- // Factory.get().
- factory.mApplication = application;
- factory.mApplicationContext = applicationContext;
- factory.mMemoryCacheManager = new MemoryCacheManager();
- factory.mMediaCacheManager = new BugleMediaCacheManager();
- factory.mMediaResourceManager = new MediaResourceManager();
- factory.mBugleGservices = new BugleGservicesImpl(applicationContext);
- factory.mBugleApplicationPrefs = new BugleApplicationPrefs(applicationContext);
- factory.mDataModel = new DataModelImpl(applicationContext);
- factory.mBugleWidgetPrefs = new BugleWidgetPrefs(applicationContext);
- factory.mUIIntents = new UIIntentsImpl();
- factory.mContactContentObserver = new ContactContentObserver();
- factory.mMediaUtil = new MediaUtilImpl();
- factory.mSubscriptionPrefs = new SparseArray<BugleSubscriptionPrefs>();
- factory.mCarrierConfigValuesLoader = new BugleCarrierConfigValuesLoader(applicationContext);
-
- Assert.initializeGservices(factory.mBugleGservices);
- LogUtil.initializeGservices(factory.mBugleGservices);
-
- if (OsUtil.hasRequiredPermissions()) {
- factory.onRequiredPermissionsAcquired();
- }
-
- return factory;
- }
-
- @Override
- public void onRequiredPermissionsAcquired() {
- if (sInitialized) {
- return;
- }
- sInitialized = true;
-
- mApplication.initializeSync(this);
-
- final Thread asyncInitialization = new Thread() {
- @Override
- public void run() {
- Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
- mApplication.initializeAsync(FactoryImpl.this);
- }
- };
- asyncInitialization.start();
- }
-
- @Override
- public Context getApplicationContext() {
- return mApplicationContext;
- }
-
- @Override
- public DataModel getDataModel() {
- return mDataModel;
- }
-
- @Override
- public BugleGservices getBugleGservices() {
- return mBugleGservices;
- }
-
- @Override
- public BuglePrefs getApplicationPrefs() {
- return mBugleApplicationPrefs;
- }
-
- @Override
- public BuglePrefs getWidgetPrefs() {
- return mBugleWidgetPrefs;
- }
-
- @Override
- public BuglePrefs getSubscriptionPrefs(int subId) {
- subId = PhoneUtils.getDefault().getEffectiveSubId(subId);
- BugleSubscriptionPrefs pref = mSubscriptionPrefs.get(subId);
- if (pref == null) {
- synchronized (this) {
- if ((pref = mSubscriptionPrefs.get(subId)) == null) {
- pref = new BugleSubscriptionPrefs(getApplicationContext(), subId);
- mSubscriptionPrefs.put(subId, pref);
- }
- }
- }
- return pref;
- }
-
- @Override
- public UIIntents getUIIntents() {
- return mUIIntents;
- }
-
- @Override
- public MemoryCacheManager getMemoryCacheManager() {
- return mMemoryCacheManager;
- }
-
- @Override
- public MediaResourceManager getMediaResourceManager() {
- return mMediaResourceManager;
- }
-
- @Override
- public MediaCacheManager getMediaCacheManager() {
- return mMediaCacheManager;
- }
-
- @Override
- public ContactContentObserver getContactContentObserver() {
- return mContactContentObserver;
- }
-
- @Override
- public PhoneUtils getPhoneUtils(int subId) {
- if (OsUtil.isAtLeastL_MR1()) {
- if (subId == ParticipantData.DEFAULT_SELF_SUB_ID) {
- subId = SmsManager.getDefaultSmsSubscriptionId();
- }
- if (subId < 0) {
- LogUtil.w(LogUtil.BUGLE_TAG, "PhoneUtils.getForLMR1(): invalid subId = " + subId);
- subId = ParticipantData.DEFAULT_SELF_SUB_ID;
- }
- PhoneUtils instance = sPhoneUtilsInstanceCacheLMR1.get(subId);
- if (instance == null) {
- instance = new PhoneUtils.PhoneUtilsLMR1(subId);
- sPhoneUtilsInstanceCacheLMR1.putIfAbsent(subId, instance);
- }
- return instance;
- } else {
- Assert.isTrue(subId == ParticipantData.DEFAULT_SELF_SUB_ID);
- if (sPhoneUtilsInstancePreLMR1 == null) {
- synchronized (PHONEUTILS_INSTANCE_LOCK) {
- if (sPhoneUtilsInstancePreLMR1 == null) {
- sPhoneUtilsInstancePreLMR1 = new PhoneUtils.PhoneUtilsPreLMR1();
- }
- }
- }
- return sPhoneUtilsInstancePreLMR1;
- }
- }
-
- @Override
- public void reclaimMemory() {
- mMemoryCacheManager.reclaimMemory();
- }
-
- @Override
- public void onActivityResume() {
- }
-
- @Override
- public MediaUtil getMediaUtil() {
- return mMediaUtil;
- }
-
- @Override
- public BugleCarrierConfigValuesLoader getCarrierConfigValuesLoader() {
- return mCarrierConfigValuesLoader;
- }
-}