Merge "[Settings] Hide some Preference entries when no mobile data support" into tm-dev
This commit is contained in:
@@ -28,6 +28,7 @@ import android.telephony.TelephonyManager;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
import com.android.settings.datausage.DataUsageUtils;
|
||||||
import com.android.settings.datausage.lib.DataUsageLib;
|
import com.android.settings.datausage.lib.DataUsageLib;
|
||||||
import com.android.settingslib.NetworkPolicyEditor;
|
import com.android.settingslib.NetworkPolicyEditor;
|
||||||
|
|
||||||
@@ -63,6 +64,6 @@ public class BillingCyclePreferenceController extends BasePreferenceController {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return AVAILABLE;
|
return DataUsageUtils.hasMobileData(mContext) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -33,6 +33,7 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import androidx.preference.SwitchPreference;
|
import androidx.preference.SwitchPreference;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
|
import com.android.settings.datausage.DataUsageUtils;
|
||||||
import com.android.settings.network.MobileDataContentObserver;
|
import com.android.settings.network.MobileDataContentObserver;
|
||||||
import com.android.settings.network.SubscriptionsChangeListener;
|
import com.android.settings.network.SubscriptionsChangeListener;
|
||||||
|
|
||||||
@@ -102,10 +103,16 @@ public class DataDuringCallsPreferenceController extends TelephonyTogglePreferen
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
protected boolean hasMobileData() {
|
||||||
|
return DataUsageUtils.hasMobileData(mContext);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus(int subId) {
|
public int getAvailabilityStatus(int subId) {
|
||||||
if (!SubscriptionManager.isValidSubscriptionId(subId)
|
if (!SubscriptionManager.isValidSubscriptionId(subId)
|
||||||
|| SubscriptionManager.getDefaultDataSubscriptionId() == subId) {
|
|| SubscriptionManager.getDefaultDataSubscriptionId() == subId
|
||||||
|
|| (!hasMobileData())) {
|
||||||
return CONDITIONALLY_UNAVAILABLE;
|
return CONDITIONALLY_UNAVAILABLE;
|
||||||
}
|
}
|
||||||
return AVAILABLE;
|
return AVAILABLE;
|
||||||
|
@@ -56,6 +56,7 @@ public class DataUsagePreferenceController extends TelephonyBasePreferenceContro
|
|||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus(int subId) {
|
public int getAvailabilityStatus(int subId) {
|
||||||
return (SubscriptionManager.isValidSubscriptionId(subId))
|
return (SubscriptionManager.isValidSubscriptionId(subId))
|
||||||
|
&& DataUsageUtils.hasMobileData(mContext)
|
||||||
? AVAILABLE
|
? AVAILABLE
|
||||||
: AVAILABLE_UNSEARCHABLE;
|
: AVAILABLE_UNSEARCHABLE;
|
||||||
}
|
}
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License
|
* limitations under the License
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.settings.network;
|
package com.android.settings.network.telephony;
|
||||||
|
|
||||||
import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
|
|
||||||
@@ -74,7 +74,10 @@ public class DataDuringCallsPreferenceControllerTest {
|
|||||||
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
|
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
|
||||||
mSwitchPreference = new SwitchPreference(mContext);
|
mSwitchPreference = new SwitchPreference(mContext);
|
||||||
when(mPreferenceScreen.findPreference(PREF_KEY)).thenReturn(mSwitchPreference);
|
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);
|
mController.init(mLifecycle, SUB_ID_1);
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue
Block a user