mirror of
				https://github.com/SimpleMobileTools/Simple-Camera.git
				synced 2025-06-27 09:02:59 +02:00 
			
		
		
		
	convert config to kotlin
This commit is contained in:
		| @@ -1,127 +0,0 @@ | |||||||
| package com.simplemobiletools.camera; |  | ||||||
|  |  | ||||||
| import android.content.Context; |  | ||||||
| import android.content.SharedPreferences; |  | ||||||
| import android.hardware.Camera; |  | ||||||
| import android.os.Environment; |  | ||||||
|  |  | ||||||
| public class Config { |  | ||||||
|     private SharedPreferences mPrefs; |  | ||||||
|  |  | ||||||
|     public static Config newInstance(Context context) { |  | ||||||
|         return new Config(context); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public Config(Context context) { |  | ||||||
|         mPrefs = context.getSharedPreferences(Constants.PREFS_KEY, Context.MODE_PRIVATE); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public boolean getIsFirstRun() { |  | ||||||
|         return mPrefs.getBoolean(Constants.IS_FIRST_RUN, true); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setIsFirstRun(boolean firstRun) { |  | ||||||
|         mPrefs.edit().putBoolean(Constants.IS_FIRST_RUN, firstRun).apply(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public boolean getIsDarkTheme() { |  | ||||||
|         return mPrefs.getBoolean(Constants.IS_DARK_THEME, false); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setIsDarkTheme(boolean isDarkTheme) { |  | ||||||
|         mPrefs.edit().putBoolean(Constants.IS_DARK_THEME, isDarkTheme).apply(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public String getSavePhotosFolder() { |  | ||||||
|         return mPrefs.getString(Constants.SAVE_PHOTOS, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString()); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setSavePhotosFolder(String path) { |  | ||||||
|         mPrefs.edit().putString(Constants.SAVE_PHOTOS, path).apply(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public boolean getForceRatioEnabled() { |  | ||||||
|         return mPrefs.getBoolean(Constants.FORCE_RATIO, true); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setForceRatioEnabled(boolean enabled) { |  | ||||||
|         mPrefs.edit().putBoolean(Constants.FORCE_RATIO, enabled).apply(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // todo: delete this |  | ||||||
|     public int getMaxResolution() { |  | ||||||
|         return mPrefs.getInt(Constants.MAX_RESOLUTION, -1); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public int getMaxPhotoResolution() { |  | ||||||
|         return mPrefs.getInt(Constants.MAX_PHOTO_RESOLUTION, getOldDefaultResolution()); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setMaxPhotoResolution(int maxRes) { |  | ||||||
|         mPrefs.edit().putInt(Constants.MAX_PHOTO_RESOLUTION, maxRes).apply(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     private int getOldDefaultResolution() { |  | ||||||
|         final int index = getMaxResolution(); |  | ||||||
|         switch (index) { |  | ||||||
|             case 1: |  | ||||||
|                 return Constants.EIGHT_MPX; |  | ||||||
|             case 2: |  | ||||||
|                 return 0; |  | ||||||
|             default: |  | ||||||
|                 return Constants.FIVE_MPX; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public int getMaxVideoResolution() { |  | ||||||
|         int maxRes = mPrefs.getInt(Constants.MAX_VIDEO_RESOLUTION, Constants.P720); |  | ||||||
|         switch (maxRes) { |  | ||||||
|             case 0: |  | ||||||
|                 maxRes = Constants.P480; |  | ||||||
|                 break; |  | ||||||
|             case 1: |  | ||||||
|                 maxRes = Constants.P720; |  | ||||||
|                 break; |  | ||||||
|             case 2: |  | ||||||
|                 maxRes = Constants.P1080; |  | ||||||
|                 break; |  | ||||||
|         } |  | ||||||
|         return maxRes; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setMaxVideoResolution(int maxRes) { |  | ||||||
|         mPrefs.edit().putInt(Constants.MAX_VIDEO_RESOLUTION, maxRes).apply(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public boolean getIsSoundEnabled() { |  | ||||||
|         return mPrefs.getBoolean(Constants.SOUND, true); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setIsSoundEnabled(boolean enabled) { |  | ||||||
|         mPrefs.edit().putBoolean(Constants.SOUND, enabled).apply(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public int getLastUsedCamera() { |  | ||||||
|         return mPrefs.getInt(Constants.LAST_USED_CAMERA, Camera.CameraInfo.CAMERA_FACING_BACK); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setLastUsedCamera(int cameraId) { |  | ||||||
|         mPrefs.edit().putInt(Constants.LAST_USED_CAMERA, cameraId).apply(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public boolean getLastFlashlightState() { |  | ||||||
|         return mPrefs.getBoolean(Constants.LAST_FLASHLIGHT_STATE, false); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setLastFlashlightState(boolean enabled) { |  | ||||||
|         mPrefs.edit().putBoolean(Constants.LAST_FLASHLIGHT_STATE, enabled).apply(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public String getTreeUri() { |  | ||||||
|         return mPrefs.getString(Constants.TREE_URI, ""); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setTreeUri(String uri) { |  | ||||||
|         mPrefs.edit().putString(Constants.TREE_URI, uri).apply(); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -158,7 +158,7 @@ public class Preview extends ViewGroup | |||||||
|             initRecorder(); |             initRecorder(); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         final Config config = Config.newInstance(mContext); |         final Config config = Config.Companion.newInstance(mContext); | ||||||
|         mForceAspectRatio = config.getForceRatioEnabled(); |         mForceAspectRatio = config.getForceRatioEnabled(); | ||||||
|  |  | ||||||
|         return true; |         return true; | ||||||
| @@ -275,7 +275,7 @@ public class Preview extends ViewGroup | |||||||
|             mParameters.setPictureSize(maxSize.width, maxSize.height); |             mParameters.setPictureSize(maxSize.width, maxSize.height); | ||||||
|             mParameters.setRotation(rotation % 360); |             mParameters.setRotation(rotation % 360); | ||||||
|  |  | ||||||
|             if (Config.newInstance(mContext).getIsSoundEnabled()) { |             if (Config.Companion.newInstance(mContext).isSoundEnabled()) { | ||||||
|                 final AudioManager audioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE); |                 final AudioManager audioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE); | ||||||
|                 final int volume = audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM); |                 final int volume = audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM); | ||||||
|                 if (volume != 0) { |                 if (volume != 0) { | ||||||
| @@ -319,7 +319,7 @@ public class Preview extends ViewGroup | |||||||
|     }; |     }; | ||||||
|  |  | ||||||
|     private Camera.Size getOptimalPictureSize() { |     private Camera.Size getOptimalPictureSize() { | ||||||
|         final int maxResolution = Config.newInstance(mContext).getMaxPhotoResolution(); |         final int maxResolution = Config.Companion.newInstance(mContext).getMaxPhotoResolution(); | ||||||
|         final List<Camera.Size> sizes = mParameters.getSupportedPictureSizes(); |         final List<Camera.Size> sizes = mParameters.getSupportedPictureSizes(); | ||||||
|         Collections.sort(sizes, new SizesComparator()); |         Collections.sort(sizes, new SizesComparator()); | ||||||
|         Camera.Size maxSize = sizes.get(0); |         Camera.Size maxSize = sizes.get(0); | ||||||
| @@ -339,7 +339,7 @@ public class Preview extends ViewGroup | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     private int getMaxVideoResolution() { |     private int getMaxVideoResolution() { | ||||||
|         final int maxRes = Config.newInstance(mContext).getMaxVideoResolution(); |         final int maxRes = Config.Companion.newInstance(mContext).getMaxVideoResolution(); | ||||||
|         switch (maxRes) { |         switch (maxRes) { | ||||||
|             case 0: |             case 0: | ||||||
|                 return 400000; |                 return 400000; | ||||||
| @@ -665,7 +665,7 @@ public class Preview extends ViewGroup | |||||||
|         mRecorder.setProfile(cpHigh); |         mRecorder.setProfile(cpHigh); | ||||||
|  |  | ||||||
|         if (Utils.Companion.needsStupidWritePermissions(getContext(), mCurrVideoPath)) { |         if (Utils.Companion.needsStupidWritePermissions(getContext(), mCurrVideoPath)) { | ||||||
|             final Config config = Config.newInstance(getContext()); |             final Config config = Config.Companion.newInstance(getContext()); | ||||||
|             if (config.getTreeUri().isEmpty()) { |             if (config.getTreeUri().isEmpty()) { | ||||||
|                 Utils.Companion.showToast(mContext, R.string.save_error_internal_storage); |                 Utils.Companion.showToast(mContext, R.string.save_error_internal_storage); | ||||||
|                 config.setSavePhotosFolder(Environment.getExternalStorageDirectory().toString()); |                 config.setSavePhotosFolder(Environment.getExternalStorageDirectory().toString()); | ||||||
| @@ -762,7 +762,7 @@ public class Preview extends ViewGroup | |||||||
| } | } | ||||||
|  |  | ||||||
|     private void toggleShutterSound(Boolean mute) { |     private void toggleShutterSound(Boolean mute) { | ||||||
|         if (!Config.newInstance(mContext).getIsSoundEnabled()) { |         if (!Config.Companion.newInstance(mContext).isSoundEnabled()) { | ||||||
|             ((AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE)).setStreamMute(AudioManager.STREAM_SYSTEM, mute); |             ((AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE)).setStreamMute(AudioManager.STREAM_SYSTEM, mute); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -699,7 +699,7 @@ public class MainActivity extends SimpleActivity | |||||||
|     @Override |     @Override | ||||||
|     protected void onDestroy() { |     protected void onDestroy() { | ||||||
|         super.onDestroy(); |         super.onDestroy(); | ||||||
|         Config.newInstance(getApplicationContext()).setIsFirstRun(false); |         Config.Companion.newInstance(getApplicationContext()).setFirstRun(false); | ||||||
|         if (mPreview != null) |         if (mPreview != null) | ||||||
|             mPreview.releaseCamera(); |             mPreview.releaseCamera(); | ||||||
|     } |     } | ||||||
|   | |||||||
							
								
								
									
										78
									
								
								app/src/main/kotlin/com/simplemobiletools/camera/Config.kt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								app/src/main/kotlin/com/simplemobiletools/camera/Config.kt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,78 @@ | |||||||
|  | package com.simplemobiletools.camera | ||||||
|  |  | ||||||
|  | import android.content.Context | ||||||
|  | import android.content.SharedPreferences | ||||||
|  | import android.hardware.Camera | ||||||
|  | import android.os.Environment | ||||||
|  |  | ||||||
|  | class Config(context: Context) { | ||||||
|  |     private val mPrefs: SharedPreferences | ||||||
|  |  | ||||||
|  |     companion object { | ||||||
|  |         fun newInstance(context: Context) = Config(context) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     init { | ||||||
|  |         mPrefs = context.getSharedPreferences(Constants.PREFS_KEY, Context.MODE_PRIVATE) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     var isFirstRun: Boolean | ||||||
|  |         get() = mPrefs.getBoolean(Constants.IS_FIRST_RUN, true) | ||||||
|  |         set(firstRun) = mPrefs.edit().putBoolean(Constants.IS_FIRST_RUN, firstRun).apply() | ||||||
|  |  | ||||||
|  |     var isDarkTheme: Boolean | ||||||
|  |         get() = mPrefs.getBoolean(Constants.IS_DARK_THEME, false) | ||||||
|  |         set(isDarkTheme) = mPrefs.edit().putBoolean(Constants.IS_DARK_THEME, isDarkTheme).apply() | ||||||
|  |  | ||||||
|  |     var savePhotosFolder: String | ||||||
|  |         get() = mPrefs.getString(Constants.SAVE_PHOTOS, Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString()) | ||||||
|  |         set(path) = mPrefs.edit().putString(Constants.SAVE_PHOTOS, path).apply() | ||||||
|  |  | ||||||
|  |     var forceRatioEnabled: Boolean | ||||||
|  |         get() = mPrefs.getBoolean(Constants.FORCE_RATIO, true) | ||||||
|  |         set(enabled) = mPrefs.edit().putBoolean(Constants.FORCE_RATIO, enabled).apply() | ||||||
|  |  | ||||||
|  |     // todo: delete this | ||||||
|  |     val maxResolution: Int | ||||||
|  |         get() = mPrefs.getInt(Constants.MAX_RESOLUTION, -1) | ||||||
|  |  | ||||||
|  |     var maxPhotoResolution: Int | ||||||
|  |         get() = mPrefs.getInt(Constants.MAX_PHOTO_RESOLUTION, oldDefaultResolution) | ||||||
|  |         set(maxRes) = mPrefs.edit().putInt(Constants.MAX_PHOTO_RESOLUTION, maxRes).apply() | ||||||
|  |  | ||||||
|  |     private val oldDefaultResolution: Int | ||||||
|  |         get() { | ||||||
|  |             return when (maxResolution) { | ||||||
|  |                 1 -> Constants.EIGHT_MPX | ||||||
|  |                 2 -> 0 | ||||||
|  |                 else -> Constants.FIVE_MPX | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |     var maxVideoResolution: Int | ||||||
|  |         get() { | ||||||
|  |             val maxRes = mPrefs.getInt(Constants.MAX_VIDEO_RESOLUTION, Constants.P720) | ||||||
|  |             return when (maxRes) { | ||||||
|  |                 0 -> Constants.P480 | ||||||
|  |                 2 -> Constants.P1080 | ||||||
|  |                 else -> Constants.P720 | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         set(maxRes) = mPrefs.edit().putInt(Constants.MAX_VIDEO_RESOLUTION, maxRes).apply() | ||||||
|  |  | ||||||
|  |     var isSoundEnabled: Boolean | ||||||
|  |         get() = mPrefs.getBoolean(Constants.SOUND, true) | ||||||
|  |         set(enabled) = mPrefs.edit().putBoolean(Constants.SOUND, enabled).apply() | ||||||
|  |  | ||||||
|  |     var lastUsedCamera: Int | ||||||
|  |         get() = mPrefs.getInt(Constants.LAST_USED_CAMERA, Camera.CameraInfo.CAMERA_FACING_BACK) | ||||||
|  |         set(cameraId) = mPrefs.edit().putInt(Constants.LAST_USED_CAMERA, cameraId).apply() | ||||||
|  |  | ||||||
|  |     var lastFlashlightState: Boolean | ||||||
|  |         get() = mPrefs.getBoolean(Constants.LAST_FLASHLIGHT_STATE, false) | ||||||
|  |         set(enabled) = mPrefs.edit().putBoolean(Constants.LAST_FLASHLIGHT_STATE, enabled).apply() | ||||||
|  |  | ||||||
|  |     var treeUri: String | ||||||
|  |         get() = mPrefs.getString(Constants.TREE_URI, "") | ||||||
|  |         set(uri) = mPrefs.edit().putString(Constants.TREE_URI, uri).apply() | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user