diff --git a/app/src/main/java/com/simplemobiletools/camera/Config.java b/app/src/main/java/com/simplemobiletools/camera/Config.java
new file mode 100644
index 00000000..b949791f
--- /dev/null
+++ b/app/src/main/java/com/simplemobiletools/camera/Config.java
@@ -0,0 +1,24 @@
+package com.simplemobiletools.camera;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+public class Config {
+ private SharedPreferences prefs;
+
+ public static Config newInstance(Context context) {
+ return new Config(context);
+ }
+
+ public Config(Context context) {
+ prefs = context.getSharedPreferences(Constants.PREFS_KEY, Context.MODE_PRIVATE);
+ }
+
+ public boolean getLongTapEnabled() {
+ return prefs.getBoolean(Constants.LONG_TAP, true);
+ }
+
+ public void setLongTapEnabled(boolean enabled) {
+ prefs.edit().putBoolean(Constants.LONG_TAP, enabled).apply();
+ }
+}
diff --git a/app/src/main/java/com/simplemobiletools/camera/Constants.java b/app/src/main/java/com/simplemobiletools/camera/Constants.java
index 6f2f2ee5..b10bad13 100644
--- a/app/src/main/java/com/simplemobiletools/camera/Constants.java
+++ b/app/src/main/java/com/simplemobiletools/camera/Constants.java
@@ -4,4 +4,8 @@ public class Constants {
public static final int ORIENT_PORTRAIT = 0;
public static final int ORIENT_LANDSCAPE_LEFT = 1;
public static final int ORIENT_LANDSCAPE_RIGHT = 2;
+
+ // Shared preferences
+ public static final String PREFS_KEY = "Camera";
+ public static final String LONG_TAP = "long_tap";
}
diff --git a/app/src/main/java/com/simplemobiletools/camera/Preview.java b/app/src/main/java/com/simplemobiletools/camera/Preview.java
index c6f7eb8d..ab68ce9f 100644
--- a/app/src/main/java/com/simplemobiletools/camera/Preview.java
+++ b/app/src/main/java/com/simplemobiletools/camera/Preview.java
@@ -72,7 +72,6 @@ public class Preview extends ViewGroup implements SurfaceHolder.Callback, View.O
canTakePicture = false;
surfaceView.setOnTouchListener(this);
surfaceView.setOnClickListener(this);
- surfaceView.setOnLongClickListener(this);
isFlashEnabled = false;
isVideoMode = false;
isSurfaceCreated = false;
@@ -143,6 +142,9 @@ public class Preview extends ViewGroup implements SurfaceHolder.Callback, View.O
initRecorder();
}
+ final boolean isLongTapEnabled = Config.newInstance(getContext()).getLongTapEnabled();
+ surfaceView.setOnLongClickListener(isLongTapEnabled ? this : null);
+
return true;
}
diff --git a/app/src/main/java/com/simplemobiletools/camera/SettingsActivity.java b/app/src/main/java/com/simplemobiletools/camera/SettingsActivity.java
index 75f7e8b6..cacdabbb 100644
--- a/app/src/main/java/com/simplemobiletools/camera/SettingsActivity.java
+++ b/app/src/main/java/com/simplemobiletools/camera/SettingsActivity.java
@@ -2,15 +2,33 @@ package com.simplemobiletools.camera;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.SwitchCompat;
+import butterknife.BindView;
import butterknife.ButterKnife;
+import butterknife.OnClick;
public class SettingsActivity extends AppCompatActivity {
+ @BindView(R.id.settings_long_tap) SwitchCompat longTapSwitch;
+
+ private static Config mConfig;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
+ mConfig = Config.newInstance(getApplicationContext());
ButterKnife.bind(this);
+ setupLongTap();
+ }
+
+ private void setupLongTap() {
+ longTapSwitch.setChecked(mConfig.getLongTapEnabled());
+ }
+
+ @OnClick(R.id.settings_long_tap_holder)
+ public void handleLongTapToTrigger() {
+ longTapSwitch.setChecked(!longTapSwitch.isChecked());
+ mConfig.setLongTapEnabled(longTapSwitch.isChecked());
}
}
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 647b54a6..103cf98b 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -3,7 +3,31 @@
android:id="@+id/settings_holder"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_margin="@dimen/activity_margin">
+ android:layout_height="match_parent">
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 68b8d14c..a43ad171 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -3,4 +3,5 @@
32dp
12dp
56dp
+ 8dp
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index de226891..5e212c85 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -14,6 +14,7 @@
Settings
+ Long tap to capture
About