From 6d92af579438b3a0b5638158c1d4a55f4a2667be Mon Sep 17 00:00:00 2001 From: Arjan Schrijver Date: Mon, 25 Jul 2022 14:25:27 +0200 Subject: [PATCH] App manager: refresh list when returning from watchface editor --- .../appmanager/AbstractAppManagerFragment.java | 10 +++++++++- .../activities/appmanager/AppManagerActivity.java | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AbstractAppManagerFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AbstractAppManagerFragment.java index 398d3e7b3..446e9a972 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AbstractAppManagerFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AbstractAppManagerFragment.java @@ -74,6 +74,7 @@ public abstract class AbstractAppManagerFragment extends Fragment { public static final String ACTION_REFRESH_APPLIST = "nodomain.freeyourgadget.gadgetbridge.appmanager.action.refresh_applist"; private static final Logger LOG = LoggerFactory.getLogger(AbstractAppManagerFragment.class); + private static final int CHILD_ACTIVITY_WATCHFACE_EDITOR = 0; private ItemTouchHelper appManagementTouchHelper; @@ -374,6 +375,13 @@ public abstract class AbstractAppManagerFragment extends Fragment { return rootView; } + @Override + public void onActivityResult(int requestCode, int resultCode, Intent resultData) { + if (requestCode == CHILD_ACTIVITY_WATCHFACE_EDITOR) { + refreshList(); + } + } + protected void sendOrderToDevice(String concatFilename) { ArrayList uuids = new ArrayList<>(); for (GBDeviceApp gbDeviceApp : mGBDeviceAppAdapter.getAppList()) { @@ -560,7 +568,7 @@ public abstract class AbstractAppManagerFragment extends Fragment { Intent editWatchfaceIntent = new Intent(getContext(), watchfaceDesignerActivity); editWatchfaceIntent.putExtra(GBDevice.EXTRA_DEVICE, mGBDevice); editWatchfaceIntent.putExtra(GBDevice.EXTRA_UUID, selectedApp.getUUID().toString()); - getContext().startActivity(editWatchfaceIntent); + startActivityForResult(editWatchfaceIntent, CHILD_ACTIVITY_WATCHFACE_EDITOR); return true; default: return super.onContextItemSelected(item); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AppManagerActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AppManagerActivity.java index efda4a1d9..c1c553f8e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AppManagerActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/appmanager/AppManagerActivity.java @@ -190,6 +190,7 @@ public class AppManagerActivity extends AbstractGBFragmentActivity { @Override public void onActivityResult(int requestCode, int resultCode, Intent resultData) { + super.onActivityResult(requestCode, resultCode, resultData); if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) { Intent startIntent = new Intent(AppManagerActivity.this, FwAppInstallerActivity.class); startIntent.setAction(Intent.ACTION_VIEW);