Making LauncherProvider think that clear-db request comes from Launcher

If it comes from the test process, the request won't be honored.

Bug: 159728364
Change-Id: I90029c1198634f1f1e94f61ba8ab9b41609d9ad5
This commit is contained in:
vadimt 2020-06-23 13:59:11 -07:00
parent b1e003c1fb
commit efa3acddba
1 changed files with 11 additions and 5 deletions

View File

@ -23,6 +23,7 @@ import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Binder;
import android.os.Bundle;
import android.os.Debug;
import android.system.Os;
@ -171,11 +172,16 @@ public class DebugTestInformationHandler extends TestInformationHandler {
}
case TestProtocol.REQUEST_CLEAR_DATA: {
LauncherSettings.Settings.call(mContext.getContentResolver(),
LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB);
MAIN_EXECUTOR.submit(() ->
LauncherAppState.getInstance(mContext).getModel().forceReload());
return response;
final long identity = Binder.clearCallingIdentity();
try {
LauncherSettings.Settings.call(mContext.getContentResolver(),
LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB);
MAIN_EXECUTOR.submit(() ->
LauncherAppState.getInstance(mContext).getModel().forceReload());
return response;
} finally {
Binder.restoreCallingIdentity(identity);
}
}
default: