diff options
| author | Julian Veit <claymore1298@gmail.com> | 2022-03-20 00:06:45 +0100 |
|---|---|---|
| committer | Julian Veit <claymore1298@gmail.com> | 2022-03-20 00:06:45 +0100 |
| commit | d250e4a60f3b6219c6925534629eee12834a92b8 (patch) | |
| tree | 52fb90369927e24dc962b6ec283f6a3f710f7a6c /src/com/android/camera/CameraActivity.java | |
| parent | ef111dceb9e3fce395bff4f6a4ef1591c701e80c (diff) | |
| parent | 8c444160bd565319468cce5bfdcfc11d20e8b7cb (diff) | |
Merge branch 'lineage-18.1' of https://github.com/LineageOS/android_packages_apps_Snap into HEADHEADs12.1
Change-Id: Ia09760085480a6a028c8969f16f503070ab816e5
Diffstat (limited to 'src/com/android/camera/CameraActivity.java')
| -rwxr-xr-x[-rw-r--r--] | src/com/android/camera/CameraActivity.java | 62 |
1 files changed, 36 insertions, 26 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index 6cf522dd9..6cca8da7f 100644..100755 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -170,6 +170,8 @@ public class CameraActivity extends Activity private static final int HIDE_ACTION_BAR = 1; private static final long SHOW_ACTION_BAR_TIMEOUT_MS = 3000; + private static final int SWITCH_SAVE_PATH = 2; + /** Permission request code */ private static final int PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION = 1; @@ -256,8 +258,6 @@ public class CameraActivity extends Activity private Intent mStandardShareIntent; private ShareActionProvider mPanoramaShareActionProvider; private Intent mPanoramaShareIntent; - private LocalMediaObserver mLocalImagesObserver; - private LocalMediaObserver mLocalVideosObserver; private SettingsManager mSettingsManager; private final int DEFAULT_SYSTEM_UI_VISIBILITY = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; @@ -353,6 +353,24 @@ public class CameraActivity extends Activity } }; + // update the status of storage space when SD card status changed. + private BroadcastReceiver mSDcardMountedReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + Log.d(TAG, "SDcard status changed, update storage space"); + updateStorageSpaceAndHint(); + } + }; + + private void registerSDcardMountedReceiver() { + // filter for SDcard status + IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED); + filter.addAction(Intent.ACTION_MEDIA_SHARED); + filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED); + filter.addDataScheme("file"); + registerReceiver(mSDcardMountedReceiver, filter); + } + private class MainHandler extends Handler { public MainHandler(Looper looper) { super(looper); @@ -363,6 +381,8 @@ public class CameraActivity extends Activity if (msg.what == HIDE_ACTION_BAR) { removeMessages(HIDE_ACTION_BAR); CameraActivity.this.setSystemBarsVisibility(false); + }else if ( msg.what == SWITCH_SAVE_PATH ) { + mCurrentModule.onSwitchSavePath(); } } } @@ -1689,16 +1709,6 @@ public class CameraActivity extends Activity setupNfcBeamPush(); - mLocalImagesObserver = new LocalMediaObserver(); - mLocalVideosObserver = new LocalMediaObserver(); - - getContentResolver().registerContentObserver( - MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, - mLocalImagesObserver); - getContentResolver().registerContentObserver( - MediaStore.Video.Media.EXTERNAL_CONTENT_URI, true, - mLocalVideosObserver); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); mDeveloperMenuEnabled = prefs.getBoolean(CameraSettings.KEY_DEVELOPER_MENU, false); @@ -1713,6 +1723,7 @@ public class CameraActivity extends Activity int offset = lower * 7 / 100; SETTING_LIST_WIDTH_1 = lower / 2 + offset; SETTING_LIST_WIDTH_2 = lower / 2 - offset; + registerSDcardMountedReceiver(); mAutoTestEnabled = PersistUtil.isAutoTestEnabled(); @@ -1775,8 +1786,6 @@ public class CameraActivity extends Activity mCurrentModule.onPauseAfterSuper(); mPaused = true; - mLocalImagesObserver.setActivityPaused(true); - mLocalVideosObserver.setActivityPaused(true); } @Override @@ -1914,17 +1923,12 @@ public class CameraActivity extends Activity // than the preview. mResetToPreviewOnResume = true; - if (mLocalVideosObserver.isMediaDataChangedDuringPause() - || mLocalImagesObserver.isMediaDataChangedDuringPause()) { - if (!mSecureCamera) { - // If it's secure camera, requestLoad() should not be called - // as it will load all the data. - mDataAdapter.requestLoad(getContentResolver()); - mThumbnailDrawable = null; - } + if (!mSecureCamera) { + // If it's secure camera, requestLoad() should not be called + // as it will load all the data. + mDataAdapter.requestLoad(getContentResolver()); + mThumbnailDrawable = null; } - mLocalImagesObserver.setActivityPaused(false); - mLocalVideosObserver.setActivityPaused(false); if (PersistUtil.isTraceEnable()) Trace.endSection(); } @@ -1980,8 +1984,7 @@ public class CameraActivity extends Activity Log.d(TAG, "wake lock release"); } if (mCursor != null) { - getContentResolver().unregisterContentObserver(mLocalImagesObserver); - getContentResolver().unregisterContentObserver(mLocalVideosObserver); + unregisterReceiver(mSDcardMountedReceiver); mCursor.close(); mCursor=null; @@ -2047,6 +2050,10 @@ public class CameraActivity extends Activity protected long updateStorageSpace() { synchronized (mStorageSpaceLock) { mStorageSpaceBytes = Storage.getAvailableSpace(); + if (Storage.switchSavePath()) { + mStorageSpaceBytes = Storage.getAvailableSpace(); + mMainHandler.sendEmptyMessage(SWITCH_SAVE_PATH); + } return mStorageSpaceBytes; } } @@ -2059,6 +2066,9 @@ public class CameraActivity extends Activity public void updateStorageSpaceAndHint() { if (mIsStartup) { + if (!SDCard.instance().isWriteable()) { + Storage.setSaveSDCard(false); + } mIsStartup = false; } updateStorageSpace(); |
