OPC(Olympus Air)用望遠鏡アプリ。
Revision | ac3be013681220100fe6bdac9ba8975d851d5432 (tree) |
---|---|
Zeit | 2019-08-03 23:38:07 |
Autor | MRSa <mrsa@myad...> |
Commiter | MRSa |
物理キーの音量+でシャッターを切れるように対応。
@@ -6,8 +6,8 @@ android { | ||
6 | 6 | applicationId "net.osdn.gokigen.a01d" |
7 | 7 | minSdkVersion 14 |
8 | 8 | targetSdkVersion 29 |
9 | - versionCode 10401 | |
10 | - versionName "1.4.1" | |
9 | + versionCode 10402 | |
10 | + versionName "1.4.2" | |
11 | 11 | } |
12 | 12 | buildTypes { |
13 | 13 | release { |
@@ -3,6 +3,7 @@ package net.osdn.gokigen.a01d.liveview; | ||
3 | 3 | import android.content.Context; |
4 | 4 | import android.content.SharedPreferences; |
5 | 5 | import android.util.Log; |
6 | +import android.view.KeyEvent; | |
6 | 7 | import android.view.MotionEvent; |
7 | 8 | import android.view.View; |
8 | 9 | import android.widget.Toast; |
@@ -19,13 +20,14 @@ import net.osdn.gokigen.a01d.camera.olympus.wrapper.property.IOlyCameraProperty; | ||
19 | 20 | import net.osdn.gokigen.a01d.camera.olympus.wrapper.property.IOlyCameraPropertyProvider; |
20 | 21 | import net.osdn.gokigen.a01d.preference.IPreferencePropertyAccessor; |
21 | 22 | |
23 | +import androidx.annotation.NonNull; | |
22 | 24 | import androidx.preference.PreferenceManager; |
23 | 25 | |
24 | 26 | /** |
25 | 27 | * |
26 | 28 | * |
27 | 29 | */ |
28 | -class LiveViewClickTouchListener implements View.OnClickListener, View.OnTouchListener | |
30 | +class LiveViewClickTouchListener implements View.OnClickListener, View.OnTouchListener, View.OnKeyListener | |
29 | 31 | { |
30 | 32 | private final String TAG = toString(); |
31 | 33 | private final Context context; |
@@ -345,4 +347,22 @@ class LiveViewClickTouchListener implements View.OnClickListener, View.OnTouchLi | ||
345 | 347 | return ((id == R.id.cameraLiveImageView)&&(focusingControl.driveAutoFocus(motionEvent))); |
346 | 348 | } |
347 | 349 | |
350 | + @Override | |
351 | + public boolean onKey(View view, int keyCode, @NonNull KeyEvent keyEvent) | |
352 | + { | |
353 | + Log.v(TAG, "onKey() : " + keyCode); | |
354 | + try | |
355 | + { | |
356 | + if ((keyEvent.getAction() == KeyEvent.ACTION_DOWN)&& | |
357 | + ((keyCode == KeyEvent.KEYCODE_VOLUME_UP)||(keyCode == KeyEvent.KEYCODE_CAMERA))) | |
358 | + { | |
359 | + pushedShutterButton(); | |
360 | + } | |
361 | + } | |
362 | + catch (Exception e) | |
363 | + { | |
364 | + e.printStackTrace(); | |
365 | + } | |
366 | + return (false); | |
367 | + } | |
348 | 368 | } |
@@ -7,6 +7,7 @@ import android.graphics.Color; | ||
7 | 7 | import android.graphics.drawable.Drawable; |
8 | 8 | import android.os.Bundle; |
9 | 9 | import android.util.Log; |
10 | +import android.view.KeyEvent; | |
10 | 11 | import android.view.LayoutInflater; |
11 | 12 | import android.view.View; |
12 | 13 | import android.view.ViewGroup; |
@@ -154,6 +155,10 @@ public class LiveViewFragment extends Fragment implements IStatusViewDrawer, IFo | ||
154 | 155 | imageView.setOnTouchListener(onClickTouchListener); |
155 | 156 | imageView.setFocuslockIndicator(this); |
156 | 157 | |
158 | + // キーイベントを拾う処理を追加 | |
159 | + view.setOnKeyListener(onClickTouchListener); | |
160 | + view.setFocusableInTouchMode(true); | |
161 | + | |
157 | 162 | view.findViewById(R.id.show_preference_button).setOnClickListener(onClickTouchListener); |
158 | 163 | view.findViewById(R.id.camera_property_settings_button).setOnClickListener(onClickTouchListener); |
159 | 164 | view.findViewById(R.id.shutter_button).setOnClickListener(onClickTouchListener); |