diff --git a/res/xml/device_admin_settings.xml b/res/xml/device_admin_settings.xml
index 09e072485d6..1837251455d 100644
--- a/res/xml/device_admin_settings.xml
+++ b/res/xml/device_admin_settings.xml
@@ -20,4 +20,11 @@
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/manage_device_admin"
android:key="device_admin_settings"
- settings:controller="com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminListPreferenceController" />
\ No newline at end of file
+ settings:controller="com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminListPreferenceController">
+
+
+
\ No newline at end of file
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
index 7b139d9770a..73acc12f5aa 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
@@ -45,13 +45,11 @@ import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
-import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
import org.xmlpull.v1.XmlPullParserException;
@@ -67,6 +65,7 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
private static final IntentFilter FILTER = new IntentFilter();
private static final String TAG = "DeviceAdminListPrefCtrl";
+ private static final String KEY_DEVICE_ADMIN_FOOTER = "device_admin_footer";
private final DevicePolicyManager mDPM;
private final UserManager mUm;
@@ -91,7 +90,7 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
};
private PreferenceGroup mPreferenceGroup;
- private FooterPreferenceMixinCompat mFooterPreferenceMixin;
+ private FooterPreference mFooterPreference;
static {
FILTER.addAction(ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED);
@@ -105,12 +104,6 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
mIPackageManager = AppGlobals.getPackageManager();
}
- public DeviceAdminListPreferenceController setFooterPreferenceMixin(
- FooterPreferenceMixinCompat mixin) {
- mFooterPreferenceMixin = mixin;
- return this;
- }
-
@Override
public int getAvailabilityStatus() {
return AVAILABLE;
@@ -120,6 +113,7 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreferenceGroup = screen.findPreference(getPreferenceKey());
+ mFooterPreference = mPreferenceGroup.findPreference(KEY_DEVICE_ADMIN_FOOTER);
}
@Override
@@ -167,10 +161,8 @@ public class DeviceAdminListPreferenceController extends BasePreferenceControlle
if (mPreferenceGroup == null) {
return;
}
- if (mFooterPreferenceMixin != null) {
- final FooterPreference footer = mFooterPreferenceMixin.createFooterPreference();
- footer.setTitle(R.string.no_device_admins);
- footer.setVisible(mAdmins.isEmpty());
+ if (mFooterPreference != null) {
+ mFooterPreference.setVisible(mAdmins.isEmpty());
}
final Map preferenceCache = new ArrayMap<>();
final Context prefContext = mPreferenceGroup.getContext();
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java
index 7cbd8c72aaa..66e3996247a 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java
@@ -37,13 +37,6 @@ public class DeviceAdminSettings extends DashboardFragment {
return SettingsEnums.DEVICE_ADMIN_SETTINGS;
}
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- use(DeviceAdminListPreferenceController.class).setFooterPreferenceMixin(
- mFooterPreferenceMixin);
- }
-
@Override
protected int getPreferenceScreenResId() {
return R.xml.device_admin_settings;
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java
index 18b4f18d002..3b20dd4b527 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java
@@ -33,37 +33,26 @@ import android.os.UserHandle;
import androidx.lifecycle.LifecycleOwner;
import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class)
public class DeviceAdminListPreferenceControllerTest {
-
- @Mock
- private FooterPreferenceMixinCompat mFooterPreferenceMixin;
private Context mContext;
- private DeviceAdminListPreferenceController mController;
- private LifecycleOwner mLifecycleOwner;
private Lifecycle mLifecycle;
@Before
public void setUp() {
- MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
+ final LifecycleOwner lifecycleOwner = () -> mLifecycle;
+ mLifecycle = new Lifecycle(lifecycleOwner);
- mController = spy(new DeviceAdminListPreferenceController(mContext, "test_key")
- .setFooterPreferenceMixin(mFooterPreferenceMixin));
- mLifecycle.addObserver(mController);
+ mLifecycle.addObserver(new DeviceAdminListPreferenceController(mContext, "test_key"));
}
@Test