From ffacfa0af7ce645620b22b1cc4fac101a46ad712 Mon Sep 17 00:00:00 2001 From: Keith Mok Date: Thu, 30 Jun 2016 16:28:43 -0700 Subject: PhotoPhase: refresh after grant runtime permissions FEIJ-1482 Change-Id: Iaaa43e078f075268800f187be551ed85fdfeb9bb (cherry picked from commit 3b6c5f9be3b355b93ac7e0fd190db9b9b517c072) --- .../wallpapers/photophase/RequestPermissionsActivity.java | 11 +++++++++++ src/org/cyanogenmod/wallpapers/photophase/TextureManager.java | 1 + 2 files changed, 12 insertions(+) diff --git a/src/org/cyanogenmod/wallpapers/photophase/RequestPermissionsActivity.java b/src/org/cyanogenmod/wallpapers/photophase/RequestPermissionsActivity.java index 5999d10..e600cc2 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/RequestPermissionsActivity.java +++ b/src/org/cyanogenmod/wallpapers/photophase/RequestPermissionsActivity.java @@ -5,10 +5,13 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.app.Activity; import android.content.Context; +import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; import android.widget.Toast; +import org.cyanogenmod.wallpapers.photophase.preferences.PreferencesProvider; + public class RequestPermissionsActivity extends Activity { public static final int REQUEST_STORAGE_PERMISSION = 1; @@ -34,6 +37,14 @@ public class RequestPermissionsActivity extends Activity { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + + Intent intent = new Intent(PreferencesProvider.ACTION_SETTINGS_CHANGED); + intent.putExtra(PreferencesProvider.EXTRA_FLAG_REDRAW, Boolean.TRUE); + intent.putExtra(PreferencesProvider.EXTRA_FLAG_RECREATE_WORLD, Boolean.TRUE); + intent.putExtra(PreferencesProvider.EXTRA_FLAG_MEDIA_RELOAD, Boolean.TRUE); + intent.putExtra(PreferencesProvider.EXTRA_ACTION_MEDIA_USER_RELOAD_REQUEST, + Boolean.FALSE); + sendBroadcast(intent); setResult(Activity.RESULT_OK); } else { Toast.makeText(this, R.string.runtime_permission_warning, Toast.LENGTH_SHORT) diff --git a/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java b/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java index 3c3ad78..de3d645 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java +++ b/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java @@ -230,6 +230,7 @@ public class TextureManager implements OnMediaPictureDiscoveredListener { * @param userRequest If the request was generated by the user */ void reloadMedia(final boolean userRequest) { + mStatus = 0; // Loading Log.d(TAG, "Reload media picture data"); // Discovery new media // GLThread doesn't run in the UI thread and AsyncThread can't create a -- cgit v1.2.3