OSDN Git Service

次バージョンの準備。
[gokigen/mangle.git] / app / src / main / java / jp / osdn / gokigen / gokigenassets / camera / vendor / ricohpentax / operation / RicohGr2CameraPowerOff.kt
1 package jp.osdn.gokigen.gokigenassets.camera.vendor.ricohpentax.operation
2
3 import android.content.Context
4 import androidx.preference.Preference
5 import jp.osdn.gokigen.gokigenassets.constants.IApplicationConstantConvert.Companion.ID_DIALOG_EXIT_POWER_OFF
6 import jp.osdn.gokigen.gokigenassets.constants.IApplicationConstantConvert.Companion.ID_DIALOG_TITLE_CONFIRMATION
7 import jp.osdn.gokigen.gokigenassets.constants.IApplicationConstantConvert.Companion.ID_PREFERENCE_LABEL_EXIT_APPLICATION
8 import jp.osdn.gokigen.gokigenassets.scene.IChangeSceneBasic
9 import jp.osdn.gokigen.gokigenassets.utils.ConfirmationDialog
10
11 class RicohGr2CameraPowerOff(private val context: Context, private val changeScene: IChangeSceneBasic) : Preference.OnPreferenceClickListener, ConfirmationDialog.ConfirmationCallback
12 {
13     private var preferenceKey: String? = null
14
15     /**
16      * クラスの準備
17      *
18      */
19     fun prepare() {
20         // 何もしない
21     }
22
23     /**
24      *
25      *
26      * @param preference クリックしたpreference
27      * @return false : ハンドルしない / true : ハンドルした
28      */
29     override fun onPreferenceClick(preference: Preference): Boolean {
30         if (!preference.hasKey()) {
31             return false
32         }
33         preferenceKey = preference.key
34         val isContain = preferenceKey?.contains(ID_PREFERENCE_LABEL_EXIT_APPLICATION)
35         if ((isContain != null)&&(isContain))
36         {
37
38             // 確認ダイアログの生成と表示
39             val dialog: ConfirmationDialog = ConfirmationDialog.newInstance(context)
40             dialog.show(ID_DIALOG_TITLE_CONFIRMATION, ID_DIALOG_EXIT_POWER_OFF, this)
41             return true
42         }
43         return false
44     }
45
46     /**
47      *
48      *
49      */
50     override fun confirm()
51     {
52         val isContain = preferenceKey?.contains(ID_PREFERENCE_LABEL_EXIT_APPLICATION)
53         if ((isContain != null)&&(isContain))
54         {
55             // カメラの電源をOFFにしたうえで、アプリケーションを終了する。
56             changeScene.exitApplication()
57         }
58     }
59 }