From cb3b2e0d8e787b073a5ea42718254f3b4f095c33 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Wed, 11 Mar 2015 18:23:58 +0100 Subject: [PATCH 1/2] Refresh AppDetails header on package state change Update the application details to display the correct state on application install/uninstall. Should fix issue #161 https://gitlab.com/fdroid/fdroidclient/issues/161 --- F-Droid/src/org/fdroid/fdroid/AppDetails.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/F-Droid/src/org/fdroid/fdroid/AppDetails.java b/F-Droid/src/org/fdroid/fdroid/AppDetails.java index 1f51f12d4..c563f121a 100644 --- a/F-Droid/src/org/fdroid/fdroid/AppDetails.java +++ b/F-Droid/src/org/fdroid/fdroid/AppDetails.java @@ -491,6 +491,7 @@ public class AppDetails extends ActionBarActivity implements ProgressListener, A protected void onResumeFragments() { super.onResumeFragments(); refreshApkList(); + refreshHeader(); supportInvalidateOptionsMenu(); } @@ -544,6 +545,7 @@ public class AppDetails extends ActionBarActivity implements ProgressListener, A } refreshApkList(); + refreshHeader(); supportInvalidateOptionsMenu(); } @@ -643,6 +645,12 @@ public class AppDetails extends ActionBarActivity implements ProgressListener, A adapter.notifyDataSetChanged(); } + private void refreshHeader() { + AppDetailsHeaderFragment headerFragment = (AppDetailsHeaderFragment) + getSupportFragmentManager().findFragmentById(R.id.header); + headerFragment.refresh(); + } + @Override public boolean onPrepareOptionsMenu(Menu menu) { @@ -1347,6 +1355,10 @@ public class AppDetails extends ActionBarActivity implements ProgressListener, A @Override public void onResume() { super.onResume(); + refresh(); + } + + public void refresh() { updateViews(getView()); } From f0a87807554e22fc3d3ddcdb0ed2a643a6cee4d6 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Fri, 13 Mar 2015 10:01:02 +0100 Subject: [PATCH 2/2] Use the same fragment id for portrait & landscape To refresh the header, we retrieve the fragment from its id. But the landscape layout used another id for the same fragment, so it could not be retrieved, leading to a NullPointerException in landscape. Therefore, use the same fragment id as in the portrait layout. --- F-Droid/res/layout-land/app_details.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/F-Droid/res/layout-land/app_details.xml b/F-Droid/res/layout-land/app_details.xml index 110f3bba5..bb9d4c7d2 100644 --- a/F-Droid/res/layout-land/app_details.xml +++ b/F-Droid/res/layout-land/app_details.xml @@ -22,7 +22,7 @@