Revert "Revert "Migrating all model tests to Instrumentation tests""

This reverts commit 7a4a30d86d.

Test: Presubmit
Reason for revert: Fixing original bug

Bug: 196825541
Change-Id: Id4b1eb24a89564d264266d305aebea52917dfcd9
This commit is contained in:
Sunny Goyal
2021-08-27 21:22:17 +00:00
committed by Alex Chau
parent ee3814de1a
commit 777d49062f
31 changed files with 807 additions and 684 deletions

View File

@@ -55,7 +55,7 @@ import java.util.Set;
* Utility class to cache properties of default display to avoid a system RPC on every call.
*/
@SuppressLint("NewApi")
public class DisplayController implements DisplayListener, ComponentCallbacks {
public class DisplayController implements DisplayListener, ComponentCallbacks, SafeCloseable {
private static final String TAG = "DisplayController";
@@ -79,6 +79,7 @@ public class DisplayController implements DisplayListener, ComponentCallbacks {
private final ArrayList<DisplayInfoChangeListener> mListeners = new ArrayList<>();
private Info mInfo;
private boolean mDestroyed = false;
private DisplayController(Context context) {
mContext = context;
@@ -110,6 +111,17 @@ public class DisplayController implements DisplayListener, ComponentCallbacks {
mDM.registerDisplayListener(this, UI_HELPER_EXECUTOR.getHandler());
}
@Override
public void close() {
mDestroyed = true;
if (mWindowContext != null) {
mWindowContext.unregisterComponentCallbacks(this);
} else {
// TODO: unregister broadcast receiver
}
mDM.unregisterDisplayListener(this);
}
@Override
public final void onDisplayAdded(int displayId) { }
@@ -157,6 +169,9 @@ public class DisplayController implements DisplayListener, ComponentCallbacks {
* Only used for pre-S
*/
private void onConfigChanged(Intent intent) {
if (mDestroyed) {
return;
}
Configuration config = mContext.getResources().getConfiguration();
if (mInfo.fontScale != config.fontScale || mInfo.densityDpi != config.densityDpi) {
Log.d(TAG, "Configuration changed, notifying listeners");