Merge "Fix NetworkScorerAppManager#isCallerActiveScorer."

am: 48eecdcbc4

Change-Id: I6b9ecd35dbc0758cd45b804dc9586287428af293
This commit is contained in:
Amin Shaikh
2017-01-06 00:08:19 +00:00
committed by android-build-merger
2 changed files with 20 additions and 7 deletions

View File

@ -231,13 +231,7 @@ public class NetworkScorerAppManager {
if (defaultApp == null) {
return false;
}
if (callingUid != defaultApp.packageUid) {
return false;
}
// To be extra safe, ensure the caller holds the SCORE_NETWORKS permission. It always
// should, since it couldn't become the active scorer otherwise, but this can't hurt.
return mContext.checkCallingPermission(Manifest.permission.SCORE_NETWORKS) ==
PackageManager.PERMISSION_GRANTED;
return callingUid == defaultApp.packageUid;
}
private boolean isNetworkRecommendationsDisabled() {

View File

@ -169,6 +169,25 @@ public class NetworkScorerAppManagerTest extends InstrumentationTestCase {
assertNull(activeScorer);
}
public void testIsCallerActiveScorer_providerNotAvailable() throws Exception {
ContentResolver cr = mTargetContext.getContentResolver();
Settings.Global.putInt(cr, Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 1);
assertFalse(mNetworkScorerAppManager.isCallerActiveScorer(924));
}
public void testIsCallerActiveScorer_providerAvailable() throws Exception {
setNetworkRecommendationPackageNames("package1");
mockScoreNetworksGranted("package1");
mockRecommendationServiceAvailable("package1", 924 /* packageUid */);
ContentResolver cr = mTargetContext.getContentResolver();
Settings.Global.putInt(cr, Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 1);
assertTrue(mNetworkScorerAppManager.isCallerActiveScorer(924));
assertFalse(mNetworkScorerAppManager.isCallerActiveScorer(925));
}
private void setNetworkRecommendationPackageNames(String... names) {
if (names == null) {
names = new String[0];