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

Commit 69a68a43 authored by Jack Yu's avatar Jack Yu
Browse files

Added SubscriptionDatabaseManager

Added subscription database manager, which is the wrapper on top
of the database with a full cache.

Bug: 239607619
Test: atest SubscriptionDatabaseManagerTest
Merged-In: I2845352f89d71c303ea2d1503fb3d15dcf7730b2
Change-Id: I2845352f89d71c303ea2d1503fb3d15dcf7730b2
parent 9f487a64
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.SettingsObserver;
import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.data.DataConfigManager.DataConfigManagerCallback;
import com.android.internal.telephony.util.TelephonyUtils;
import com.android.telephony.Rlog;

import java.io.FileDescriptor;
@@ -618,7 +619,7 @@ public class DataSettingsManager extends Handler {
                .collect(Collectors.joining(","));
        if (SubscriptionController.getInstance().setEnabledMobileDataPolicies(
                mSubId, enabledMobileDataPolicies)) {
            logl(DataUtils.mobileDataPolicyToString(mobileDataPolicy) + " changed to "
            logl(TelephonyUtils.mobileDataPolicyToString(mobileDataPolicy) + " changed to "
                    + enable);
            updateDataEnabledAndNotify(TelephonyManager.DATA_ENABLED_REASON_OVERRIDE);
            notifyDataEnabledOverrideChanged(enable, mobileDataPolicy);
@@ -761,7 +762,7 @@ public class DataSettingsManager extends Handler {
                + ", mIsDataEnabled=" + mIsDataEnabled
                + ", mDataEnabledSettings=" + mDataEnabledSettings
                + ", mEnabledMobileDataPolicy=" + mEnabledMobileDataPolicy.stream()
                .map(DataUtils::mobileDataPolicyToString).collect(Collectors.joining(","))
                .map(TelephonyUtils::mobileDataPolicyToString).collect(Collectors.joining(","))
                + "]";
    }

@@ -818,7 +819,7 @@ public class DataSettingsManager extends Handler {
                        dataEnabledChangedReasonToString(entry.getKey()) + "=" + entry.getValue())
                .collect(Collectors.joining(", ")));
        pw.println("mEnabledMobileDataPolicy=" + mEnabledMobileDataPolicy.stream()
                .map(DataUtils::mobileDataPolicyToString).collect(Collectors.joining(",")));
                .map(TelephonyUtils::mobileDataPolicyToString).collect(Collectors.joining(",")));
        pw.println("Local logs:");
        pw.increaseIndent();
        mLocalLog.dump(fd, pw, args);
+0 −19
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.telephony.Annotation.NetCapability;
import android.telephony.Annotation.NetworkType;
import android.telephony.Annotation.ValidationStatus;
import android.telephony.TelephonyManager;
import android.telephony.TelephonyManager.MobileDataPolicy;
import android.telephony.data.ApnSetting;
import android.telephony.data.ApnSetting.ApnType;
import android.telephony.data.DataCallResponse;
@@ -520,24 +519,6 @@ public class DataUtils {
        }
    }

    /**
     * Convert mobile data policy to string.
     *
     * @param mobileDataPolicy The mobile data policy.
     * @return The mobile data policy in string format.
     */
    public static @NonNull String mobileDataPolicyToString(@MobileDataPolicy int mobileDataPolicy) {
        switch (mobileDataPolicy) {
            case TelephonyManager.MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL:
                return "DATA_ON_NON_DEFAULT_DURING_VOICE_CALL";
            case TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED:
                return "MMS_ALWAYS_ALLOWED";
            default:
                loge("Unknown mobile data policy(" + mobileDataPolicy + ")");
                return "UNKNOWN(" + mobileDataPolicy + ")";
        }
    }

    private static void loge(String msg) {
        Rlog.e(TAG, msg);
    }
+1327 −0

File added.

Preview size limit exceeded, changes collapsed.

+2166 −0

File added.

Preview size limit exceeded, changes collapsed.

+11 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.internal.telephony.subscription;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.os.HandlerThread;
import android.os.ParcelUuid;
import android.os.TelephonyServiceManager;
import android.telephony.SubscriptionInfo;
@@ -54,6 +55,9 @@ public class SubscriptionManagerService extends ISub.Stub {
    /** Local log for most important debug messages. */
    private final LocalLog mLocalLog = new LocalLog(128);

    /** The subscription database manager. */
    private final SubscriptionDatabaseManager mSubscriptionDatabaseManager;

    /**
     * The constructor
     *
@@ -66,6 +70,13 @@ public class SubscriptionManagerService extends ISub.Stub {
                        .getTelephonyServiceManager()
                        .getSubscriptionServiceRegisterer();
        subscriptionServiceRegisterer.register(this);

        // Create a separate thread for subscription database manager. The database will be updated
        // from a different thread.
        HandlerThread handlerThread = new HandlerThread(LOG_TAG);
        handlerThread.start();
        mSubscriptionDatabaseManager = new SubscriptionDatabaseManager(context,
                handlerThread.getLooper());
    }

    /**
Loading