update the Settings screen

This commit is contained in:
tibbi
2017-03-19 13:10:32 +01:00
parent 1ef1bbe176
commit 367da03d02
2 changed files with 109 additions and 112 deletions

View File

@ -4,23 +4,33 @@ import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.Menu import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import com.simplemobiletools.camera.R import com.simplemobiletools.camera.*
import com.simplemobiletools.camera.extensions.config
import com.simplemobiletools.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.getBasePath
import com.simplemobiletools.commons.extensions.getHumanReadablePath
import com.simplemobiletools.commons.extensions.updateTextColors
import kotlinx.android.synthetic.main.activity_settings.*
class SettingsActivity : SimpleActivity() { class SettingsActivity : SimpleActivity() {
val OPEN_DOCUMENT_TREE = 1
var mCurrPath = "" var mCurrPath = ""
var mWantedPath = "" var mWantedPath = ""
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings) setContentView(R.layout.activity_settings)
}
/*setupSavePhotosFolder() override fun onResume() {
super.onResume()
setupSavePhotosFolder()
setupShowPreview() setupShowPreview()
setupSound() setupSound()
setupForceRatio() setupForceRatio()
setupMaxPhotoResolution() setupMaxPhotoResolution()
setupMaxVideoResolution()*/ setupMaxVideoResolution()
updateTextColors(settings_holder)
} }
override fun onCreateOptionsMenu(menu: Menu): Boolean { override fun onCreateOptionsMenu(menu: Menu): Boolean {
@ -38,17 +48,17 @@ class SettingsActivity : SimpleActivity() {
} }
} }
/*private fun setupSavePhotosFolder() { private fun setupSavePhotosFolder() {
mCurrPath = config.savePhotosFolder mCurrPath = config.savePhotosFolder
settings_save_photos.text = getHumanPath() settings_save_photos.text = getHumanPath()
settings_save_photos_holder.setOnClickListener { settings_save_photos_holder.setOnClickListener {
FilePickerDialog(this, mCurrPath, false) { FilePickerDialog(this, mCurrPath, false) {
mWantedPath = pickedPath /*mWantedPath = pickedPath
if (!isShowingWritePermissions(File(pickedPath), config.treeUri, OPEN_DOCUMENT_TREE)) { if (!isShowingWritePermissions(File(pickedPath), config.treeUri, OPEN_DOCUMENT_TREE)) {
mCurrPath = if (pickedPath.length == 1) pickedPath else pickedPath.trimEnd('/') mCurrPath = if (pickedPath.length == 1) pickedPath else pickedPath.trimEnd('/')
config.savePhotosFolder = mCurrPath config.savePhotosFolder = mCurrPath
settings_save_photos.text = getHumanPath() settings_save_photos.text = getHumanPath()
} }*/
} }
} }
} }
@ -65,31 +75,6 @@ class SettingsActivity : SimpleActivity() {
private fun getStorageName(basePath: String) = "${getHumanReadablePath(basePath)}/" private fun getStorageName(basePath: String) = "${getHumanReadablePath(basePath)}/"
@TargetApi(Build.VERSION_CODES.KITKAT)
override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
super.onActivityResult(requestCode, resultCode, resultData)
if (requestCode == OPEN_DOCUMENT_TREE) {
if (resultCode == Activity.RESULT_OK && resultData != null) {
mCurrPath = mWantedPath
config.savePhotosFolder = mCurrPath
settings_save_photos.text = getHumanPath()
saveTreeUri(resultData)
} else {
mCurrPath = config.savePhotosFolder
settings_save_photos.text = getHumanPath()
}
}
}
@TargetApi(Build.VERSION_CODES.KITKAT)
private fun saveTreeUri(resultData: Intent) {
val treeUri = resultData.data
config.treeUri = treeUri.toString()
val takeFlags = Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
contentResolver.takePersistableUriPermission(treeUri, takeFlags)
}
private fun setupShowPreview() { private fun setupShowPreview() {
settings_show_preview.isChecked = config.isShowPreviewEnabled settings_show_preview.isChecked = config.isShowPreviewEnabled
settings_show_preview_holder.setOnClickListener { settings_show_preview_holder.setOnClickListener {
@ -115,7 +100,7 @@ class SettingsActivity : SimpleActivity() {
} }
private fun setupMaxPhotoResolution() { private fun setupMaxPhotoResolution() {
settings_max_photo_resolution.setSelection(getMaxPhotoSelection()) /*settings_max_photo_resolution.setSelection(getMaxPhotoSelection())
settings_max_photo_resolution.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { settings_max_photo_resolution.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
config.maxPhotoResolution = getMaxPhotoPx(settings_max_photo_resolution.selectedItemPosition) config.maxPhotoResolution = getMaxPhotoPx(settings_max_photo_resolution.selectedItemPosition)
@ -123,7 +108,7 @@ class SettingsActivity : SimpleActivity() {
override fun onNothingSelected(parent: AdapterView<*>?) { override fun onNothingSelected(parent: AdapterView<*>?) {
} }
} }*/
} }
private fun getMaxPhotoSelection(): Int { private fun getMaxPhotoSelection(): Int {
@ -146,7 +131,7 @@ class SettingsActivity : SimpleActivity() {
} }
private fun setupMaxVideoResolution() { private fun setupMaxVideoResolution() {
settings_max_video_resolution.setSelection(getMaxVideoSelection()) /*settings_max_video_resolution.setSelection(getMaxVideoSelection())
settings_max_video_resolution.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { settings_max_video_resolution.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?) { override fun onNothingSelected(parent: AdapterView<*>?) {
} }
@ -154,7 +139,7 @@ class SettingsActivity : SimpleActivity() {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
config.maxVideoResolution = getMaxVideoPx(settings_max_video_resolution.selectedItemPosition) config.maxVideoResolution = getMaxVideoPx(settings_max_video_resolution.selectedItemPosition)
} }
} }*/
} }
private fun getMaxVideoSelection(): Int { private fun getMaxVideoSelection(): Int {
@ -173,5 +158,5 @@ class SettingsActivity : SimpleActivity() {
2 -> P1080 2 -> P1080
else -> -1 else -> -1
} }
}*/ }
} }

View File

@ -6,37 +6,60 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<LinearLayout <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/settings_holder" android:id="@+id/settings_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
android:id="@+id/settings_save_photos_holder" android:id="@+id/settings_customize_colors_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/settings_padding" android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin"> android:padding="@dimen/activity_margin">
<TextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_save_photos_label" android:id="@+id/settings_customize_colors"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:paddingLeft="@dimen/settings_padding" android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/settings_padding" android:paddingStart="@dimen/medium_margin"
android:text="@string/customize_colors"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_save_photos_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingBottom="@dimen/bigger_margin"
android:paddingLeft="@dimen/activity_margin"
android:paddingRight="@dimen/activity_margin"
android:paddingTop="@dimen/bigger_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_save_photos_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/settings_save_photos"
android:layout_toStartOf="@+id/settings_save_photos"
android:paddingLeft="@dimen/medium_margin"
android:paddingRight="@dimen/medium_margin"
android:text="@string/save_photos"/> android:text="@string/save_photos"/>
<TextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_save_photos" android:id="@+id/settings_save_photos"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginEnd="@dimen/tiny_margin" android:layout_marginEnd="@dimen/small_margin"
android:layout_marginRight="@dimen/tiny_margin" android:layout_marginRight="@dimen/small_margin"
android:background="@null" android:background="@null"
android:clickable="false"/> android:clickable="false"/>
@ -46,27 +69,19 @@
android:id="@+id/settings_show_preview_holder" android:id="@+id/settings_show_preview_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/settings_padding" android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin"> android:padding="@dimen/activity_margin">
<TextView <com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_show_preview_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/settings_padding"
android:paddingStart="@dimen/settings_padding"
android:text="@string/show_preview"/>
<android.support.v7.widget.SwitchCompat
android:id="@+id/settings_show_preview" android:id="@+id/settings_show_preview"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:background="@null" android:background="@null"
android:clickable="false"/> android:clickable="false"
android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/medium_margin"
android:text="@string/show_preview"/>
</RelativeLayout> </RelativeLayout>
@ -74,27 +89,19 @@
android:id="@+id/settings_sound_holder" android:id="@+id/settings_sound_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/settings_padding" android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin"> android:padding="@dimen/activity_margin">
<TextView <com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_sound_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/settings_padding"
android:paddingStart="@dimen/settings_padding"
android:text="@string/shutter_sound"/>
<android.support.v7.widget.SwitchCompat
android:id="@+id/settings_sound" android:id="@+id/settings_sound"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:background="@null" android:background="@null"
android:clickable="false"/> android:clickable="false"
android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/medium_margin"
android:text="@string/shutter_sound"/>
</RelativeLayout> </RelativeLayout>
@ -102,27 +109,19 @@
android:id="@+id/settings_force_ratio_holder" android:id="@+id/settings_force_ratio_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/settings_padding" android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin"> android:padding="@dimen/activity_margin">
<TextView <com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_force_ratio_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/settings_padding"
android:paddingStart="@dimen/settings_padding"
android:text="@string/force_ratio"/>
<android.support.v7.widget.SwitchCompat
android:id="@+id/settings_force_ratio" android:id="@+id/settings_force_ratio"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:background="@null" android:background="@null"
android:clickable="false"/> android:clickable="false"
android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/medium_margin"
android:text="@string/force_ratio"/>
</RelativeLayout> </RelativeLayout>
@ -130,57 +129,70 @@
android:id="@+id/settings_max_photo_resolution_holder" android:id="@+id/settings_max_photo_resolution_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/settings_padding" android:layout_marginTop="@dimen/medium_margin"
android:paddingBottom="@dimen/activity_margin" android:background="?attr/selectableItemBackground"
android:paddingBottom="@dimen/bigger_margin"
android:paddingLeft="@dimen/activity_margin" android:paddingLeft="@dimen/activity_margin"
android:paddingRight="@dimen/settings_padding" android:paddingRight="@dimen/activity_margin"
android:paddingTop="@dimen/activity_margin"> android:paddingTop="@dimen/bigger_margin">
<TextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_max_photo_resolution_label" android:id="@+id/settings_max_photo_resolution_label"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:paddingLeft="@dimen/settings_padding" android:layout_toLeftOf="@+id/settings_max_photo_resolution"
android:paddingStart="@dimen/settings_padding" android:layout_toStartOf="@+id/settings_max_photo_resolution"
android:paddingLeft="@dimen/medium_margin"
android:paddingRight="@dimen/medium_margin"
android:text="@string/max_photo_size"/> android:text="@string/max_photo_size"/>
<android.support.v7.widget.AppCompatSpinner <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_max_photo_resolution" android:id="@+id/settings_max_photo_resolution"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:entries="@array/max_photo_resolutions"/> android:layout_marginEnd="@dimen/small_margin"
android:layout_marginRight="@dimen/small_margin"
android:background="@null"
android:clickable="false"/>
</RelativeLayout> </RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/settings_max_video_resolution_holder" android:id="@+id/settings_max_video_resolution_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/settings_padding" android:layout_marginTop="@dimen/medium_margin"
android:paddingBottom="@dimen/activity_margin" android:background="?attr/selectableItemBackground"
android:paddingBottom="@dimen/bigger_margin"
android:paddingLeft="@dimen/activity_margin" android:paddingLeft="@dimen/activity_margin"
android:paddingRight="@dimen/settings_padding" android:paddingRight="@dimen/activity_margin"
android:paddingTop="@dimen/activity_margin"> android:paddingTop="@dimen/bigger_margin">
<TextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_max_video_resolution_label" android:id="@+id/settings_max_video_resolution_label"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:paddingLeft="@dimen/settings_padding" android:layout_toLeftOf="@+id/settings_max_video_resolution"
android:paddingStart="@dimen/settings_padding" android:layout_toStartOf="@+id/settings_max_video_resolution"
android:paddingLeft="@dimen/medium_margin"
android:paddingRight="@dimen/medium_margin"
android:text="@string/max_video_size"/> android:text="@string/max_video_size"/>
<android.support.v7.widget.AppCompatSpinner <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_max_video_resolution" android:id="@+id/settings_max_video_resolution"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:entries="@array/max_video_resolutions"/> android:layout_marginEnd="@dimen/small_margin"
android:layout_marginRight="@dimen/small_margin"
android:background="@null"
android:clickable="false"/>
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>