Camera close button

This commit is contained in:
Hardcore Sushi 2020-08-25 15:54:14 +02:00
parent 5c0f317a04
commit defdd4d36f
5 changed files with 10 additions and 51 deletions

View File

@ -15,7 +15,7 @@ android {
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 29 targetSdkVersion 29
versionCode 1 versionCode 1
versionName "1.1.5" versionName "1.1.6"
ndk { ndk {
abiFilters 'x86_64', 'armeabi-v7a', 'arm64-v8a' abiFilters 'x86_64', 'armeabi-v7a', 'arm64-v8a'

View File

@ -15,7 +15,6 @@ import com.otaliastudios.cameraview.controls.Facing
import com.otaliastudios.cameraview.controls.Flash import com.otaliastudios.cameraview.controls.Flash
import com.otaliastudios.cameraview.controls.Grid import com.otaliastudios.cameraview.controls.Grid
import com.otaliastudios.cameraview.controls.Hdr import com.otaliastudios.cameraview.controls.Hdr
import com.otaliastudios.cameraview.filter.Filters
import kotlinx.android.synthetic.main.activity_camera.* import kotlinx.android.synthetic.main.activity_camera.*
import sushi.hardcore.droidfs.provider.RestrictedFileProvider import sushi.hardcore.droidfs.provider.RestrictedFileProvider
import sushi.hardcore.droidfs.util.GocryptfsVolume import sushi.hardcore.droidfs.util.GocryptfsVolume
@ -31,14 +30,12 @@ class CameraActivity : BaseActivity() {
private val flashModes = listOf(Flash.AUTO, Flash.ON, Flash.OFF) private val flashModes = listOf(Flash.AUTO, Flash.ON, Flash.OFF)
private val gridTitles = listOf(R.string.grid_none, R.string.grid_3x3, R.string.grid_4x4) private val gridTitles = listOf(R.string.grid_none, R.string.grid_3x3, R.string.grid_4x4)
private val gridValues = listOf(Grid.OFF, Grid.DRAW_3X3, Grid.DRAW_4X4) private val gridValues = listOf(Grid.OFF, Grid.DRAW_3X3, Grid.DRAW_4X4)
private val filterNames = Filters.values().map { it.toString().toLowerCase(Locale.ROOT).replace("_", " ").capitalize() as CharSequence }.toTypedArray()
private const val fileNameRandomMin = 100000 private const val fileNameRandomMin = 100000
private const val fileNameRandomMax = 999999 private const val fileNameRandomMax = 999999
private val dateFormat = SimpleDateFormat("yyyyMMdd_HHmmss") private val dateFormat = SimpleDateFormat("yyyyMMdd_HHmmss")
private val random = Random() private val random = Random()
} }
private var currentFlashModeIndex = 0 private var currentFlashModeIndex = 0
private var currentFilterIndex = 0
private var timerDuration = 0 private var timerDuration = 0
set(value) { set(value) {
field = value field = value
@ -77,14 +74,6 @@ class CameraActivity : BaseActivity() {
take_photo_button.onClick = ::onClickTakePhoto take_photo_button.onClick = ::onClickTakePhoto
} }
private fun takePhoto() {
if (currentFilterIndex != 0){
camera.takePictureSnapshot()
} else {
camera.takePicture()
}
}
private fun onClickTakePhoto() { private fun onClickTakePhoto() {
val baseName = "IMG_"+dateFormat.format(Date())+"_" val baseName = "IMG_"+dateFormat.format(Date())+"_"
do { do {
@ -98,12 +87,12 @@ class CameraActivity : BaseActivity() {
Thread.sleep(1000) Thread.sleep(1000)
} }
runOnUiThread { runOnUiThread {
takePhoto() camera.takePicture()
text_timer.visibility = View.GONE text_timer.visibility = View.GONE
} }
}.start() }.start()
} else { } else {
takePhoto() camera.takePicture()
} }
} }
@ -181,32 +170,9 @@ class CameraActivity : BaseActivity() {
.show() .show()
} }
private fun openFilterDialog(){ fun onClickClose(view: View) {
ColoredAlertDialogBuilder(this) isFinishingIntentionally = true
.setTitle(getString(R.string.choose_filter)) finish()
.setSingleChoiceItems(filterNames, currentFilterIndex){ dialog, which ->
camera.filter = Filters.values()[which].newInstance()
currentFilterIndex = which
dialog.dismiss()
}
.setNegativeButton(R.string.cancel, null)
.show()
}
fun onClickFilter(view: View) {
if (sharedPrefs.getBoolean("filtersFirstOpening", true)){
ColoredAlertDialogBuilder(this)
.setTitle(R.string.warning)
.setMessage(R.string.filters_warning)
.setPositiveButton(R.string.ok){ _, _ ->
sharedPrefs.edit().putBoolean("filtersFirstOpening", false).apply()
openFilterDialog()
}
.setNegativeButton(R.string.cancel, null)
.show()
} else {
openFilterDialog()
}
} }
override fun onDestroy() { override fun onDestroy() {

View File

@ -1,5 +0,0 @@
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M19.02,10v9L5,19L5,5h9L14,3L5.02,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2v-9h-2zM17,10l0.94,-2.06L20,7l-2.06,-0.94L17,4l-0.94,2.06L14,7l2.06,0.94zM13.25,10.75L12,8l-1.25,2.75L8,12l2.75,1.25L12,16l1.25,-2.75L16,12z"/>
</vector>

View File

@ -51,16 +51,16 @@
android:onClick="onClickGrid" android:onClick="onClickGrid"
android:src="@drawable/icon_grid_off" android:src="@drawable/icon_grid_off"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/image_filter" app:layout_constraintEnd_toStartOf="@+id/image_close"
app:layout_constraintStart_toEndOf="@+id/image_timer" app:layout_constraintStart_toEndOf="@+id/image_timer"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<ImageView <ImageView
android:id="@+id/image_filter" android:id="@+id/image_close"
android:layout_width="30dp" android:layout_width="30dp"
android:layout_height="30dp" android:layout_height="30dp"
android:onClick="onClickFilter" android:onClick="onClickClose"
android:src="@drawable/icon_photo_filter" android:src="@drawable/icon_close"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/image_grid" app:layout_constraintStart_toEndOf="@id/image_grid"

View File

@ -163,8 +163,6 @@
<string name="grid_3x3">3x3</string> <string name="grid_3x3">3x3</string>
<string name="grid_4x4">4x4</string> <string name="grid_4x4">4x4</string>
<string name="choose_grid">Choose grid</string> <string name="choose_grid">Choose grid</string>
<string name="choose_filter">Choose filter</string>
<string name="filters_warning">Filters can only be applied to reduced quality images. If you want to take high definition photos, do not apply any filters.</string>
<string name="timer_empty_error_msg">Please enter a numeric value</string> <string name="timer_empty_error_msg">Please enter a numeric value</string>
<string name="path_from_uri_null_error_msg">Failed to retrieve the selected path.</string> <string name="path_from_uri_null_error_msg">Failed to retrieve the selected path.</string>
<string name="create_cant_write_error_msg">DroidFS doesn\'t have write access to this path. Please try another location.</string> <string name="create_cant_write_error_msg">DroidFS doesn\'t have write access to this path. Please try another location.</string>