mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-02-19 21:01:01 +01:00
convert config to kotlin
This commit is contained in:
parent
6c83203bbb
commit
e4c4504c71
@ -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()
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user