[Settings] Disable gear button if user is not admin.

- Mobile settings include many settings which second user shall not
  modify, so make gear button disabled to avoid second user want to try.

Bug: 184303943
Test: Maunal test passeded
Test: atest passed.
Change-Id: Ic04fa71772df4ac424965ad2ca95733b1e15d6a7
This commit is contained in:
tom hsu
2021-06-03 11:46:30 +08:00
parent b857491c48
commit f7811dfd09
6 changed files with 253 additions and 5 deletions

View File

@@ -40,6 +40,7 @@ import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.os.Looper;
import android.os.UserManager;
import android.provider.Settings;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
@@ -81,6 +82,8 @@ import java.util.List;
public class SubscriptionsPreferenceControllerTest {
private static final String KEY = "preference_group";
@Mock
private UserManager mUserManager;
@Mock
private SubscriptionManager mSubscriptionManager;
@Mock
@@ -121,10 +124,12 @@ public class SubscriptionsPreferenceControllerTest {
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
when(mConnectivityManager.getActiveNetwork()).thenReturn(mActiveNetwork);
when(mConnectivityManager.getNetworkCapabilities(mActiveNetwork))
.thenReturn(mNetworkCapabilities);
when(mUserManager.isAdminUser()).thenReturn(true);
when(mLifecycleOwner.getLifecycle()).thenReturn(mLifecycleRegistry);
mPreferenceManager = new PreferenceManager(mContext);