• R/O
  • HTTP
  • SSH
  • HTTPS

mangle: Commit

A01e : multi-wifi camera control


Commit MetaInfo

Revisãof5cbf93aaffde2e1c65bcc2fa2650afff5ba2d97 (tree)
Hora2021-01-04 18:05:04
AutorMRSa <mrsa@myad...>
CommiterMRSa

Mensagem de Log

preferenceアクセスをさらに整理。

Mudança Sumário

Diff

--- a/app/src/main/java/jp/osdn/gokigen/mangle/MainActivity.kt
+++ b/app/src/main/java/jp/osdn/gokigen/mangle/MainActivity.kt
@@ -36,7 +36,7 @@ class MainActivity : AppCompatActivity()
3636
3737 try
3838 {
39- PreferenceValueInitializer().initializeStorageLocationPreferences(this)
39+ PreferenceValueInitializer().initializePreferences(this)
4040 }
4141 catch (e: Exception)
4242 {
--- a/app/src/main/java/jp/osdn/gokigen/mangle/StorageOperationWithPermission.kt
+++ b/app/src/main/java/jp/osdn/gokigen/mangle/StorageOperationWithPermission.kt
@@ -14,7 +14,6 @@ import androidx.fragment.app.FragmentActivity
1414 import jp.osdn.gokigen.mangle.operation.imagefile.IImageStoreGrant
1515 import jp.osdn.gokigen.mangle.preference.IPreferencePropertyAccessor
1616 import jp.osdn.gokigen.mangle.preference.PreferenceAccessWrapper
17-import jp.osdn.gokigen.mangle.preference.PreferenceValueInitializer
1817 import java.io.File
1918
2019 /**
@@ -40,7 +39,7 @@ class StorageOperationWithPermission(private val activity: FragmentActivity) : I
4039 val path = Environment.DIRECTORY_DCIM + File.separator + activity.getString(R.string.app_location)
4140 val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
4241 intent.addCategory(Intent.CATEGORY_OPENABLE)
43- intent.setType("*/*")
42+ intent.type = "*/*"
4443 intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, path)
4544
4645 activity.startActivityForResult(
@@ -59,18 +58,18 @@ class StorageOperationWithPermission(private val activity: FragmentActivity) : I
5958 {
6059 if (resultCode == AppCompatActivity.RESULT_OK)
6160 {
62- Log.v(TAG, " DOCUMENT TREE GRANTED ${data}")
61+ Log.v(TAG, " DOCUMENT TREE GRANTED $data")
6362 data?.data?.also { uri ->
6463 val contentResolver = activity.applicationContext.contentResolver
6564 val takeFlags: Int =
6665 Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
6766 contentResolver.takePersistableUriPermission(uri, takeFlags)
68- PreferenceValueInitializer().storeStorageLocationPreference(activity, uri)
67+ PreferenceAccessWrapper(activity).putString(IPreferencePropertyAccessor.EXTERNAL_STORAGE_LOCATION, uri.toString())
6968 }
7069 }
7170 else
7271 {
73- Log.v(TAG, " DOCUMENT TREE DENIED ${resultCode}")
72+ Log.v(TAG, " DOCUMENT TREE DENIED $resultCode")
7473 }
7574 }
7675
--- a/app/src/main/java/jp/osdn/gokigen/mangle/preference/IPreferenceAccessWrapper.java
+++ /dev/null
@@ -1,9 +0,0 @@
1-package jp.osdn.gokigen.mangle.preference;
2-
3-import androidx.annotation.NonNull;
4-
5-public interface IPreferenceAccessWrapper
6-{
7- @NonNull String getString(@NonNull String key, @NonNull String defaultValue);
8- boolean getBoolean(@NonNull String key, boolean defaultValue);
9-}
--- a/app/src/main/java/jp/osdn/gokigen/mangle/preference/IPreferenceValueInitializer.java
+++ b/app/src/main/java/jp/osdn/gokigen/mangle/preference/IPreferenceValueInitializer.java
@@ -1,15 +1,10 @@
11 package jp.osdn.gokigen.mangle.preference;
22
33 import android.content.Context;
4-import android.net.Uri;
54
65 import androidx.annotation.NonNull;
76
87 public interface IPreferenceValueInitializer
98 {
109 void initializePreferences(@NonNull Context context);
11-
12- // external Storageを使用するための設定
13- void initializeStorageLocationPreferences(@NonNull Context context);
14- void storeStorageLocationPreference(@NonNull Context context, @NonNull Uri uri);
1510 }
--- a/app/src/main/java/jp/osdn/gokigen/mangle/preference/PreferenceAccessWrapper.kt
+++ b/app/src/main/java/jp/osdn/gokigen/mangle/preference/PreferenceAccessWrapper.kt
@@ -1,13 +1,15 @@
11 package jp.osdn.gokigen.mangle.preference
22
33 import android.content.Context
4+import android.content.SharedPreferences
5+import androidx.preference.PreferenceDataStore
46 import androidx.preference.PreferenceManager
57
6-class PreferenceAccessWrapper(context : Context) : IPreferenceAccessWrapper
8+class PreferenceAccessWrapper(context : Context) : PreferenceDataStore()
79 {
810 private val preferences = PreferenceManager.getDefaultSharedPreferences(context)
911
10- override fun getString(key : String, defaultValue : String) : String
12+ override fun getString(key : String, defaultValue : String?) : String
1113 {
1214 try
1315 {
@@ -21,7 +23,7 @@ class PreferenceAccessWrapper(context : Context) : IPreferenceAccessWrapper
2123 {
2224 e.printStackTrace()
2325 }
24- return (defaultValue)
26+ return (defaultValue ?: "")
2527 }
2628
2729 override fun getBoolean(key : String, defaultValue : Boolean) : Boolean
@@ -37,4 +39,17 @@ class PreferenceAccessWrapper(context : Context) : IPreferenceAccessWrapper
3739 return (defaultValue)
3840 }
3941
42+ override fun putString(key: String, value: String?)
43+ {
44+ try
45+ {
46+ val editor : SharedPreferences.Editor = preferences.edit()
47+ editor.putString(key, value)
48+ editor.apply()
49+ }
50+ catch (e : Exception)
51+ {
52+ e.printStackTrace()
53+ }
54+ }
4055 }
--- a/app/src/main/java/jp/osdn/gokigen/mangle/preference/PreferenceValueInitializer.kt
+++ b/app/src/main/java/jp/osdn/gokigen/mangle/preference/PreferenceValueInitializer.kt
@@ -11,10 +11,29 @@ class PreferenceValueInitializer() : IPreferenceValueInitializer
1111 {
1212 try
1313 {
14+ initializeApplicationPreferences(context)
15+ }
16+ catch (e : Exception)
17+ {
18+ e.printStackTrace()
19+ }
20+ }
21+
22+ private fun initializeApplicationPreferences(context : Context)
23+ {
24+ try
25+ {
1426 val preferences = PreferenceManager.getDefaultSharedPreferences(context) ?: return
1527 val items : Map<String, *> = preferences.all
1628 val editor : SharedPreferences.Editor = preferences.edit()
1729
30+ if (!items.containsKey(IPreferencePropertyAccessor.EXTERNAL_STORAGE_LOCATION))
31+ {
32+ editor.putString(
33+ IPreferencePropertyAccessor.EXTERNAL_STORAGE_LOCATION,
34+ IPreferencePropertyAccessor.EXTERNAL_STORAGE_LOCATION_DEFAULT_VALUE
35+ )
36+ }
1837 if (!items.containsKey(IPreferencePropertyAccessor.PREFERENCE_NOTIFICATIONS))
1938 {
2039 editor.putBoolean(
@@ -82,39 +101,4 @@ class PreferenceValueInitializer() : IPreferenceValueInitializer
82101 e.printStackTrace()
83102 }
84103 }
85-
86- override fun initializeStorageLocationPreferences(context : Context)
87- {
88- try
89- {
90- val preferences = PreferenceManager.getDefaultSharedPreferences(context) ?: return
91- val items : Map<String, *> = preferences.all
92- val editor : SharedPreferences.Editor = preferences.edit()
93- if (!items.containsKey(IPreferencePropertyAccessor.EXTERNAL_STORAGE_LOCATION))
94- {
95- editor.putString(IPreferencePropertyAccessor.EXTERNAL_STORAGE_LOCATION, IPreferencePropertyAccessor.EXTERNAL_STORAGE_LOCATION_DEFAULT_VALUE)
96- }
97- editor.apply()
98- }
99- catch (e : Exception)
100- {
101- e.printStackTrace()
102- }
103-
104- }
105-
106- override fun storeStorageLocationPreference(context : Context, uri : Uri)
107- {
108- try
109- {
110- val preferences = PreferenceManager.getDefaultSharedPreferences(context) ?: return
111- val editor : SharedPreferences.Editor = preferences.edit()
112- editor.putString(IPreferencePropertyAccessor.EXTERNAL_STORAGE_LOCATION, uri.toString())
113- editor.apply()
114- }
115- catch (e : Exception)
116- {
117- e.printStackTrace()
118- }
119- }
120104 }
Show on old repository browser