From a9c60b025dae2c43eab5c6dae799e1d4c4d5da49 Mon Sep 17 00:00:00 2001 From: emanuele-f Date: Wed, 15 Jun 2022 16:56:12 +0200 Subject: [PATCH] Fix AppDetails crash when given app is uninstalled --- .../remote_capture/fragments/AppOverview.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/emanuelef/remote_capture/fragments/AppOverview.java b/app/src/main/java/com/emanuelef/remote_capture/fragments/AppOverview.java index 1fc46214..9e97b70e 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/fragments/AppOverview.java +++ b/app/src/main/java/com/emanuelef/remote_capture/fragments/AppOverview.java @@ -61,6 +61,7 @@ public class AppOverview extends Fragment { private TableLayout mTable; private TextView mPermissions; private PackageInfo mPinfo; + private boolean mCreateError; public static AppOverview newInstance(int uid) { AppOverview fragment = new AppOverview(); @@ -87,6 +88,8 @@ public class AppOverview extends Fragment { AppsResolver res = new AppsResolver(ctx); AppDescriptor dsc = res.get(mUid, PackageManager.GET_PERMISSIONS); if(dsc == null) { + mCreateError = true; + Utils.showToast(ctx, R.string.app_not_found, mUid); requireActivity().finish(); return; } @@ -157,12 +160,18 @@ public class AppOverview extends Fragment { @Override public void onResume() { super.onResume(); + if(mCreateError) + return; + updateStatus(); } @Override public void onPause() { super.onPause(); + if(mCreateError) + return; + mHandler.removeCallbacksAndMessages(null); } @@ -215,8 +224,7 @@ public class AppOverview extends Fragment { if(stats == null) return; - mBytes.setText(String.format(getResources().getString(R.string.rcvd_and_sent), - Utils.formatBytes(stats.rcvdBytes), Utils.formatBytes(stats.sentBytes))); + mBytes.setText(getString(R.string.rcvd_and_sent, Utils.formatBytes(stats.rcvdBytes), Utils.formatBytes(stats.sentBytes))); mConnections.setText(Utils.formatInteger(ctx, stats.numConnections)); mBlockedConnsRow.setVisibility(stats.numBlockedConnections > 0 ? View.VISIBLE : View.GONE);