Merge "Check time-spent-in-app intent must come from system app." into pi-dev am: 8e88874e47
am: 06a2555802
Change-Id: Ia28178fe8aa5b034bc988506dabb163352dfe3ff
This commit is contained in:
@@ -18,6 +18,7 @@ package com.android.settings.applications.appinfo;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
@@ -61,7 +62,12 @@ public class TimeSpentInAppPreferenceController extends BasePreferenceController
|
||||
if (resolved == null || resolved.isEmpty()) {
|
||||
return DISABLED_UNSUPPORTED;
|
||||
}
|
||||
return AVAILABLE;
|
||||
for (ResolveInfo info : resolved) {
|
||||
if (isSystemApp(info)) {
|
||||
return AVAILABLE;
|
||||
}
|
||||
}
|
||||
return DISABLED_UNSUPPORTED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -72,4 +78,11 @@ public class TimeSpentInAppPreferenceController extends BasePreferenceController
|
||||
pref.setIntent(mIntent);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isSystemApp(ResolveInfo info) {
|
||||
return info != null
|
||||
&& info.activityInfo != null
|
||||
&& info.activityInfo.applicationInfo != null
|
||||
&& (info.activityInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user