Fix the problem that the SIM status and IMEI after the "Build number".

- Adding the SIM status and IMEI items of SIM2 to the PreferenceScreen
  can not put these items in the correct categories. We have to put
  these items directly into the correct categories.

Fix: 193384705
Test: robotest and see the UI

Merged-In: I2de7ee72fc1315eeef01288b386f8756ca366e33
Change-Id: I9472ecd604afe2f2e2eaf08c92ec11e439e8fc1d
This commit is contained in:
Stanley Wang
2021-07-13 17:06:22 +08:00
parent bc7e4bcd46
commit 1fcdafbcda
8 changed files with 237 additions and 7 deletions

View File

@@ -33,6 +33,7 @@ import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
@@ -64,6 +65,8 @@ public class PhoneNumberPreferenceControllerTest {
private SubscriptionManager mSubscriptionManager;
@Mock
private PreferenceScreen mScreen;
@Mock
private PreferenceCategory mCategory;
private Context mContext;
private PhoneNumberPreferenceController mController;
@@ -78,6 +81,8 @@ public class PhoneNumberPreferenceControllerTest {
final String prefKey = mController.getPreferenceKey();
when(mScreen.findPreference(prefKey)).thenReturn(mPreference);
when(mScreen.getContext()).thenReturn(mContext);
final String categoryKey = "basic_info_category";
when(mScreen.findPreference(categoryKey)).thenReturn(mCategory);
doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt());
doReturn(mSecondPreference).when(mController).createNewPreference(mContext);
when(mPreference.isVisible()).thenReturn(true);
@@ -105,7 +110,7 @@ public class PhoneNumberPreferenceControllerTest {
mController.displayPreference(mScreen);
verify(mScreen).addPreference(mSecondPreference);
verify(mCategory).addPreference(mSecondPreference);
}
@Test

View File

@@ -39,6 +39,7 @@ import android.telephony.TelephonyManager;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
@@ -68,6 +69,8 @@ public class ImeiInfoPreferenceControllerTest {
private UserManager mUserManager;
@Mock
private Fragment mFragment;
@Mock
private PreferenceCategory mCategory;
private Context mContext;
private ImeiInfoPreferenceController mController;
@@ -82,6 +85,8 @@ public class ImeiInfoPreferenceControllerTest {
doReturn(AVAILABLE).when(mController).getAvailabilityStatus();
when(mScreen.getContext()).thenReturn(mContext);
doReturn(mSecondSimPreference).when(mController).createNewPreference(mContext);
final String categoryKey = "device_detail_category";
when(mScreen.findPreference(categoryKey)).thenReturn(mCategory);
ReflectionHelpers.setField(mController, "mTelephonyManager", mTelephonyManager);
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
final String prefKey = mController.getPreferenceKey();
@@ -97,7 +102,7 @@ public class ImeiInfoPreferenceControllerTest {
mController.displayPreference(mScreen);
verify(mScreen).addPreference(mSecondSimPreference);
verify(mCategory).addPreference(mSecondSimPreference);
}
@Test

View File

@@ -30,6 +30,7 @@ import android.telephony.TelephonyManager;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
@@ -59,6 +60,8 @@ public class SimStatusPreferenceControllerTest {
private UserManager mUserManager;
@Mock
private Fragment mFragment;
@Mock
private PreferenceCategory mCategory;
private Context mContext;
private SimStatusPreferenceController mController;
@@ -71,6 +74,8 @@ public class SimStatusPreferenceControllerTest {
mController = spy(new SimStatusPreferenceController(mContext, mFragment));
doReturn(true).when(mController).isAvailable();
when(mScreen.getContext()).thenReturn(mContext);
final String categoryKey = "device_detail_category";
when(mScreen.findPreference(categoryKey)).thenReturn(mCategory);
doReturn(mSecondSimPreference).when(mController).createNewPreference(mContext);
ReflectionHelpers.setField(mController, "mTelephonyManager", mTelephonyManager);
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
@@ -85,7 +90,7 @@ public class SimStatusPreferenceControllerTest {
mController.displayPreference(mScreen);
verify(mScreen).addPreference(mSecondSimPreference);
verify(mCategory).addPreference(mSecondSimPreference);
}
@Test