Loading AndroidManifest.xml +2 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,8 @@ <uses-permission android:name="android.permission.USE_RESERVED_DISK" /> <uses-permission android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS" /> <uses-permission android:name="foundation.e.apps.micro.status.READ_WRITE" /> <application android:label="@string/settings_label" android:icon="@mipmap/ic_launcher" android:taskAffinity="" Loading src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java +22 −23 Original line number Diff line number Diff line Loading @@ -69,6 +69,10 @@ import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import android.database.Cursor; import android.net.Uri; import android.content.ContentValues; /** * Dashboard fragment to display application information from Settings. This activity presents Loading Loading @@ -383,10 +387,13 @@ public class AppInfoDashboardFragment extends DashboardFragment // Refresh option menu if (mAppEntry.info.packageName.equals("com.google.android.gms")){ Intent broadcastIntent = new Intent(); broadcastIntent.setAction("foundation.e.apps"); broadcastIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); sendImplicitBroadcast(getActivity(),broadcastIntent,"foundation.e.apps"); if (retrieveStatus(getActivity())!=null){ ContentValues values = new ContentValues(); values.put("installStatus","false"); getContentResolver().update(Uri.parse("content://foundation.e.apps.micro.status/cte"), values, "id=?", new String[]{"1"}); } } Loading Loading @@ -414,29 +421,21 @@ public class AppInfoDashboardFragment extends DashboardFragment } } private void sendImplicitBroadcast(Context ctxt, Intent intent,String application) { try { PackageManager pm = ctxt.getPackageManager(); List<ResolveInfo> matches = pm.queryBroadcastReceivers(intent, 0); for (ResolveInfo resolveInfo : matches) { Intent explicit = new Intent(intent); if (resolveInfo.activityInfo.packageName.equals(application)) { ComponentName cn = new ComponentName(resolveInfo.activityInfo.applicationInfo.packageName, resolveInfo.activityInfo.name); explicit.setComponent(cn); ctxt.sendBroadcast(explicit); break; } } }catch (ActivityNotFoundException e){ e.printStackTrace(); public String retrieveStatus(Context context) { String status = null; Cursor c = context.getContentResolver().query(Uri.parse("content://foundation.e.apps.micro.status/cte"), null, "id=?", new String[]{"1"}, "installStatus"); if (c.moveToFirst()) { do { status = c.getString(c.getColumnIndex("installStatus")); android.util.Log.e("TAG", "retrieveStatus: " + c.getString(c.getColumnIndex("installStatus"))); } while (c.moveToNext()); } c.close(); return status; } @VisibleForTesting boolean shouldShowUninstallForAll(AppEntry appEntry) { boolean showIt = true; Loading Loading
AndroidManifest.xml +2 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,8 @@ <uses-permission android:name="android.permission.USE_RESERVED_DISK" /> <uses-permission android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS" /> <uses-permission android:name="foundation.e.apps.micro.status.READ_WRITE" /> <application android:label="@string/settings_label" android:icon="@mipmap/ic_launcher" android:taskAffinity="" Loading
src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java +22 −23 Original line number Diff line number Diff line Loading @@ -69,6 +69,10 @@ import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import android.database.Cursor; import android.net.Uri; import android.content.ContentValues; /** * Dashboard fragment to display application information from Settings. This activity presents Loading Loading @@ -383,10 +387,13 @@ public class AppInfoDashboardFragment extends DashboardFragment // Refresh option menu if (mAppEntry.info.packageName.equals("com.google.android.gms")){ Intent broadcastIntent = new Intent(); broadcastIntent.setAction("foundation.e.apps"); broadcastIntent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); sendImplicitBroadcast(getActivity(),broadcastIntent,"foundation.e.apps"); if (retrieveStatus(getActivity())!=null){ ContentValues values = new ContentValues(); values.put("installStatus","false"); getContentResolver().update(Uri.parse("content://foundation.e.apps.micro.status/cte"), values, "id=?", new String[]{"1"}); } } Loading Loading @@ -414,29 +421,21 @@ public class AppInfoDashboardFragment extends DashboardFragment } } private void sendImplicitBroadcast(Context ctxt, Intent intent,String application) { try { PackageManager pm = ctxt.getPackageManager(); List<ResolveInfo> matches = pm.queryBroadcastReceivers(intent, 0); for (ResolveInfo resolveInfo : matches) { Intent explicit = new Intent(intent); if (resolveInfo.activityInfo.packageName.equals(application)) { ComponentName cn = new ComponentName(resolveInfo.activityInfo.applicationInfo.packageName, resolveInfo.activityInfo.name); explicit.setComponent(cn); ctxt.sendBroadcast(explicit); break; } } }catch (ActivityNotFoundException e){ e.printStackTrace(); public String retrieveStatus(Context context) { String status = null; Cursor c = context.getContentResolver().query(Uri.parse("content://foundation.e.apps.micro.status/cte"), null, "id=?", new String[]{"1"}, "installStatus"); if (c.moveToFirst()) { do { status = c.getString(c.getColumnIndex("installStatus")); android.util.Log.e("TAG", "retrieveStatus: " + c.getString(c.getColumnIndex("installStatus"))); } while (c.moveToNext()); } c.close(); return status; } @VisibleForTesting boolean shouldShowUninstallForAll(AppEntry appEntry) { boolean showIt = true; Loading