Check time-spent-in-app intent must come from system app.
Change-Id: Ie73aacdaf919b336d99a296328c2fbb4f75036b0 Fixes: 74580195 Test: robotests
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