Add log for setDataEnabledForReason

To know who change the mobile data

Bug: 331843727
Test: NA Adding log only
Change-Id: I3ef5662102761541cd3e0e4662e0acab07c71937
This commit is contained in:
songferngwang
2024-03-29 08:46:26 +00:00
parent 6ec3ac32a5
commit be3008e09d
10 changed files with 41 additions and 33 deletions

View File

@@ -152,8 +152,7 @@ public class CellDataPreference extends CustomDialogPreferenceCompat
}
private void setMobileDataEnabled(boolean enabled) {
if (DataUsageSummary.LOGD) Log.d(TAG, "setMobileDataEnabled(" + enabled + ","
+ mSubId + ")");
Log.d(TAG, "setDataEnabledForReason (" + enabled + "," + mSubId + ")");
getContext().getSystemService(TelephonyManager.class).setDataEnabled(mSubId, enabled);
setChecked(enabled);
}

View File

@@ -23,6 +23,7 @@ import android.telephony.PhoneStateListener;
import android.telephony.PreciseDataConnectionState;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
import com.android.settings.R;
import com.android.settings.Settings;
@@ -32,6 +33,7 @@ import com.android.settings.network.GlobalSettingsChangeListener;
import java.util.Objects;
public class CellularDataConditionController implements ConditionalCardController {
private static final String TAG = "CellularDataConditionController";
static final int ID = Objects.hash("CellularDataConditionController");
@@ -85,6 +87,7 @@ public class CellularDataConditionController implements ConditionalCardControlle
@Override
public void onActionClick() {
Log.d(TAG, "setDataEnabledForReason true");
mTelephonyManager.setDataEnabled(true);
}

View File

@@ -190,6 +190,7 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
return;
}
sExecutor.execute(() -> {
Log.d(TAG, "DataRoamingObserver changed");
insertMobileNetworkInfo(mContext, mRegSubId, tm);
});
boolean isDataRoamingEnabled = tm.isDataRoamingEnabled();
@@ -213,10 +214,8 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
mSubscriptionManager.addOnSubscriptionsChangedListener(mContext.getMainExecutor(),
this);
mAirplaneModeObserver.register(mContext);
if (DEBUG) {
Log.d(TAG, "addRegister done");
}
}
sCallbacks.add(mobileNetworkCallback);
observeAllSubInfo(lifecycleOwner);
observeAllUiccInfo(lifecycleOwner);
@@ -232,10 +231,12 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
}
public void addRegisterBySubId(int subId) {
Log.d(TAG, "MobileDataContentObserver addRegisterBySubId: " + subId);
MobileDataContentObserver dataContentObserver = new MobileDataContentObserver(
new Handler(Looper.getMainLooper()));
dataContentObserver.setOnMobileDataChangedListener(() -> {
sExecutor.execute(() -> {
Log.d(TAG, "MobileDataContentObserver changed");
insertMobileNetworkInfo(mContext, subId,
getTelephonyManagerBySubId(mContext, subId));
});
@@ -313,11 +314,9 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
});
mTelephonyCallbackMap.clear();
mTelephonyManagerMap.clear();
if (DEBUG) {
Log.d(TAG, "removeRegister done");
}
}
}
public void updateEntity() {
// Check the latest state after back to the UI.
@@ -350,9 +349,7 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
}
private void observeAllMobileNetworkInfo(LifecycleOwner lifecycleOwner) {
if (DEBUG) {
Log.d(TAG, "Observe mobile network info.");
}
mMobileNetworkDatabase.queryAllMobileNetworkInfo().observe(
lifecycleOwner, this::onAllMobileNetworkInfoChanged);
}
@@ -428,10 +425,10 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
}
mAvailableSubInfoEntityList = new ArrayList<>(availableSubInfoEntityList);
}
if (DEBUG) {
Log.d(TAG, "onAvailableSubInfoChanged, availableSubInfoEntityList = "
+ availableSubInfoEntityList);
}
for (MobileNetworkCallback callback : sCallbacks) {
callback.onAvailableSubInfoChanged(availableSubInfoEntityList);
}
@@ -447,10 +444,10 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
.filter(SubscriptionInfoEntity::isActiveSubscription)
.filter(SubscriptionInfoEntity::isSubscriptionVisible)
.collect(Collectors.toList());
if (DEBUG) {
Log.d(TAG, "onActiveSubInfoChanged, activeSubInfoEntityList = "
+ activeSubInfoEntityList);
}
List<SubscriptionInfoEntity> tempActiveSubInfoEntityList = new ArrayList<>(
activeSubInfoEntityList);
synchronized (this) {
@@ -515,6 +512,8 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
if (DEBUG) {
Log.d(TAG, "Convert subId " + subId + " to SubscriptionInfoEntity: "
+ subInfoEntity);
} else {
Log.d(TAG, "insertSubsInfo into SubscriptionInfoEntity");
}
mMobileNetworkDatabase.insertSubsInfo(subInfoEntity);
mMetricsFeatureProvider.action(mContext,
@@ -528,9 +527,7 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
}
private void deleteAllInfoBySubId(String subId) {
if (DEBUG) {
Log.d(TAG, "deleteAllInfoBySubId, subId = " + subId);
}
mMobileNetworkDatabase.deleteSubInfoBySubId(subId);
mMobileNetworkDatabase.deleteUiccInfoBySubId(subId);
mMobileNetworkDatabase.deleteMobileNetworkInfoBySubId(subId);
@@ -611,10 +608,10 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
MobileNetworkInfoEntity mobileNetworkInfoEntity = convertToMobileNetworkInfoEntity(context,
subId, telephonyManager);
if (DEBUG) {
Log.d(TAG, "insertMobileNetworkInfo, mobileNetworkInfoEntity = "
+ mobileNetworkInfoEntity);
}
if (mobileNetworkInfoEntity == null) {
return;
@@ -636,7 +633,7 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
if (telephonyManager != null) {
isDataEnabled = telephonyManager.isDataEnabled();
isDataRoamingEnabled = telephonyManager.isDataRoamingEnabled();
} else if (DEBUG) {
} else {
Log.d(TAG, "TelephonyManager is null, subId = " + subId);
}
@@ -665,17 +662,13 @@ public class MobileNetworkRepository extends SubscriptionManager.OnSubscriptions
private boolean isMultipleEnabledProfilesSupported(TelephonyManager telephonyManager) {
if (telephonyManager == null) {
if (DEBUG) {
Log.d(TAG, "TelephonyManager is null");
}
return false;
}
List<UiccCardInfo> cardInfos = telephonyManager.getUiccCardsInfo();
if (cardInfos == null) {
if (DEBUG) {
Log.d(TAG, "UICC card info list is empty.");
}
return false;
}
return cardInfos.stream().anyMatch(

View File

@@ -222,6 +222,7 @@ public class ProviderModelSlice extends WifiSlice {
// If we need to display a reminder dialog box, do nothing here.
return;
} else {
log("setMobileDataEnabled: " + newState);
MobileNetworkUtils.setMobileDataEnabled(mContext, defaultSubId, newState,
false /* disableOtherSubscriptions */);
}
@@ -251,6 +252,7 @@ public class ProviderModelSlice extends WifiSlice {
.setPositiveButton(
com.android.internal.R.string.alert_windows_notification_turn_off_action,
(dialog, which) -> {
log("setMobileDataEnabled: false");
MobileNetworkUtils.setMobileDataEnabled(mContext, defaultSubId,
false /* enabled */,
false /* disableOtherSubscriptions */);

View File

@@ -23,6 +23,7 @@ import android.content.DialogInterface;
import android.os.Bundle;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.util.Log;
import androidx.appcompat.app.AlertDialog;
@@ -40,6 +41,7 @@ import com.android.settings.wifi.WifiPickerTrackerHelper;
*/
public class MobileDataDialogFragment extends InstrumentedDialogFragment implements
DialogInterface.OnClickListener {
private static final String TAG = "MobileDataDialogFragment";
public static final int TYPE_DISABLE_DIALOG = 0;
public static final int TYPE_MULTI_SIM_DIALOG = 1;
@@ -129,6 +131,7 @@ public class MobileDataDialogFragment extends InstrumentedDialogFragment impleme
public void onClick(DialogInterface dialog, int which) {
switch (mType) {
case TYPE_DISABLE_DIALOG:
Log.d(TAG, "setMobileDataEnabled: false");
MobileNetworkUtils.setMobileDataEnabled(getContext(), mSubId, false /* enabled */,
false /* disableOtherSubscriptions */);
if (mWifiPickerTrackerHelper != null
@@ -138,6 +141,7 @@ public class MobileDataDialogFragment extends InstrumentedDialogFragment impleme
break;
case TYPE_MULTI_SIM_DIALOG:
mSubscriptionManager.setDefaultDataSubId(mSubId);
Log.d(TAG, "setMobileDataEnabled: true");
MobileNetworkUtils.setMobileDataEnabled(getContext(), mSubId, true /* enabled */,
true /* disableOtherSubscriptions */);
if (mWifiPickerTrackerHelper != null

View File

@@ -23,6 +23,7 @@ import android.content.Context;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.FragmentManager;
@@ -127,6 +128,7 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon
if (!mNeedDialog) {
// Update data directly if we don't need dialog
Log.d(DIALOG_TAG, "setMobileDataEnabled: " + isChecked);
MobileNetworkUtils.setMobileDataEnabled(mContext, mSubId, isChecked, false);
if (mWifiPickerTrackerHelper != null
&& !mWifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(mSubId)) {

View File

@@ -33,6 +33,7 @@ import android.provider.Settings;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
@@ -64,6 +65,7 @@ import java.util.List;
*
*/
public class MobileDataSlice implements CustomSliceable {
private static final String TAG = "MobileDataSlice";
private final Context mContext;
private final SubscriptionManager mSubscriptionManager;
@@ -128,7 +130,7 @@ public class MobileDataSlice implements CustomSliceable {
if (defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
return; // No subscription - do nothing.
}
Log.d(TAG, "setMobileDataEnabled: " + newState);
MobileNetworkUtils.setMobileDataEnabled(mContext, defaultSubId, newState,
false /* disableOtherSubscriptions */);
// Do not notifyChange on Uri. The service takes longer to update the current value than it

View File

@@ -359,6 +359,7 @@ public class MobileNetworkUtils {
.createForSubscriptionId(subId);
final SubscriptionManager subscriptionManager = context.getSystemService(
SubscriptionManager.class).createForAllUserProfiles();
Log.d(TAG, "setDataEnabledForReason: " + enabled);
telephonyManager.setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER,
enabled);

View File

@@ -359,6 +359,7 @@ public class SimDialogActivity extends FragmentActivity {
TelephonyManager.class).createForSubscriptionId(subId);
subscriptionManager.setDefaultDataSubId(subId);
if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
Log.d(TAG, "setDataEnabledForReason true");
telephonyManager.setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER,
true);
Toast.makeText(this, R.string.data_switch_started, Toast.LENGTH_LONG).show();

View File

@@ -337,6 +337,7 @@ suspend fun setDefaultData(
): Unit =
withContext(Dispatchers.Default) {
subscriptionManager?.setDefaultDataSubId(subId)
Log.d(NetworkCellularGroupProvider.name, "setMobileDataEnabled: true")
MobileNetworkUtils.setMobileDataEnabled(
context,
subId,