Merge "Repin home once setup is complete" into pi-dev
This commit is contained in:
@@ -34,6 +34,7 @@ import android.content.pm.ActivityInfo;
|
|||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
|
import android.database.ContentObserver;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
@@ -43,6 +44,7 @@ import android.os.Message;
|
|||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.system.ErrnoException;
|
import android.system.ErrnoException;
|
||||||
import android.system.Os;
|
import android.system.Os;
|
||||||
import android.system.OsConstants;
|
import android.system.OsConstants;
|
||||||
@@ -166,7 +168,9 @@ public final class PinnerService extends SystemService {
|
|||||||
filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
|
filter.addAction(Intent.ACTION_PACKAGE_REPLACED);
|
||||||
filter.addDataScheme("package");
|
filter.addDataScheme("package");
|
||||||
mContext.registerReceiver(mBroadcastReceiver, filter);
|
mContext.registerReceiver(mBroadcastReceiver, filter);
|
||||||
|
|
||||||
registerUidListener();
|
registerUidListener();
|
||||||
|
registerUserSetupCompleteListener();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -238,6 +242,26 @@ public final class PinnerService extends SystemService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a listener to repin the home app when user setup is complete, as the home intent
|
||||||
|
* initially resolves to setup wizard, but once setup is complete, it will resolve to the
|
||||||
|
* regular home app.
|
||||||
|
*/
|
||||||
|
private void registerUserSetupCompleteListener() {
|
||||||
|
Uri userSetupCompleteUri = Settings.Secure.getUriFor(
|
||||||
|
Settings.Secure.USER_SETUP_COMPLETE);
|
||||||
|
mContext.getContentResolver().registerContentObserver(userSetupCompleteUri,
|
||||||
|
false, new ContentObserver(null) {
|
||||||
|
@Override
|
||||||
|
public void onChange(boolean selfChange, Uri uri) {
|
||||||
|
if (userSetupCompleteUri.equals(uri)) {
|
||||||
|
sendPinAppMessage(KEY_HOME, ActivityManager.getCurrentUser(),
|
||||||
|
true /* force */);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, UserHandle.USER_ALL);
|
||||||
|
}
|
||||||
|
|
||||||
private void registerUidListener() {
|
private void registerUidListener() {
|
||||||
try {
|
try {
|
||||||
mAm.registerUidObserver(new IUidObserver.Stub() {
|
mAm.registerUidObserver(new IUidObserver.Stub() {
|
||||||
|
|||||||
Reference in New Issue
Block a user