Merge "[Settings] Hide some Preference entries when no mobile data support" into tm-dev

This commit is contained in:
Bonian Chen
2022-05-10 12:35:30 +00:00
committed by Android (Google) Code Review
4 changed files with 16 additions and 4 deletions

View File

@@ -28,6 +28,7 @@ import android.telephony.TelephonyManager;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.datausage.DataUsageUtils;
import com.android.settings.datausage.lib.DataUsageLib;
import com.android.settingslib.NetworkPolicyEditor;
@@ -63,6 +64,6 @@ public class BillingCyclePreferenceController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
return AVAILABLE;
return DataUsageUtils.hasMobileData(mContext) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
}

View File

@@ -33,6 +33,7 @@ import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.datausage.DataUsageUtils;
import com.android.settings.network.MobileDataContentObserver;
import com.android.settings.network.SubscriptionsChangeListener;
@@ -102,10 +103,16 @@ public class DataDuringCallsPreferenceController extends TelephonyTogglePreferen
return true;
}
@VisibleForTesting
protected boolean hasMobileData() {
return DataUsageUtils.hasMobileData(mContext);
}
@Override
public int getAvailabilityStatus(int subId) {
if (!SubscriptionManager.isValidSubscriptionId(subId)
|| SubscriptionManager.getDefaultDataSubscriptionId() == subId) {
|| SubscriptionManager.getDefaultDataSubscriptionId() == subId
|| (!hasMobileData())) {
return CONDITIONALLY_UNAVAILABLE;
}
return AVAILABLE;

View File

@@ -56,6 +56,7 @@ public class DataUsagePreferenceController extends TelephonyBasePreferenceContro
@Override
public int getAvailabilityStatus(int subId) {
return (SubscriptionManager.isValidSubscriptionId(subId))
&& DataUsageUtils.hasMobileData(mContext)
? AVAILABLE
: AVAILABLE_UNSEARCHABLE;
}

View File

@@ -14,7 +14,7 @@
* limitations under the License
*/
package com.android.settings.network;
package com.android.settings.network.telephony;
import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
@@ -74,7 +74,10 @@ public class DataDuringCallsPreferenceControllerTest {
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
mSwitchPreference = new SwitchPreference(mContext);
when(mPreferenceScreen.findPreference(PREF_KEY)).thenReturn(mSwitchPreference);
mController = new DataDuringCallsPreferenceController(mContext, PREF_KEY);
mController = new DataDuringCallsPreferenceController(mContext, PREF_KEY) {
@Override
protected boolean hasMobileData() { return true; }
};
mController.init(mLifecycle, SUB_ID_1);
}