From 849795c26c513e910b73cfa133fd204b47486176 Mon Sep 17 00:00:00 2001 From: William Seemann Date: Tue, 19 Jul 2016 22:16:37 -0500 Subject: [PATCH] v1.0.3 --- app/build.gradle | 4 +- .../romote/activity/ConnectivityActivity.java | 57 +++++++++++++++---- .../media/romote/activity/ShakeActivity.java | 9 +-- .../media/romote/fragment/RemoteFragment.java | 1 + app/src/main/res/layout/fragment_remote.xml | 8 ++- 5 files changed, 56 insertions(+), 23 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 64b0dcb..3cfea38 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "wseemann.media.romote" minSdkVersion 11 targetSdkVersion 23 - versionCode 3 - versionName "1.0.2" + versionCode 4 + versionName "1.0.3" } buildTypes { release { diff --git a/app/src/main/java/wseemann/media/romote/activity/ConnectivityActivity.java b/app/src/main/java/wseemann/media/romote/activity/ConnectivityActivity.java index 1a39dfa..78f51b8 100644 --- a/app/src/main/java/wseemann/media/romote/activity/ConnectivityActivity.java +++ b/app/src/main/java/wseemann/media/romote/activity/ConnectivityActivity.java @@ -1,7 +1,13 @@ package wseemann.media.romote.activity; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; import android.content.pm.PackageManager; +import android.net.wifi.WifiManager; import android.os.Bundle; +import android.util.Log; import wseemann.media.romote.fragment.ConnectivityDialog; import wseemann.media.romote.utils.NetworkMonitor; @@ -28,25 +34,23 @@ public void onCreate(Bundle savedInstanceState) { public void onResume() { super.onResume(); - if (!mNetworkMonitor.isConnectedToiWiFi()) { - if (mDialog != null) { - mDialog.dismiss(); - mDialog = null; - } - - mDialog = new ConnectivityDialog(); - mDialog.show(getFragmentManager(), ConnectivityDialog.class.getName()); + if (!mNetworkMonitor.isConnectedToiWiFi() && mDialog == null) { + showDialog(); } + + IntentFilter intentFilter = new IntentFilter(); + intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); + intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); + + registerReceiver(mConnectivityReceiver, intentFilter); } @Override public void onPause() { super.onPause(); - if (mDialog != null) { - mDialog.dismiss(); - mDialog = null; - } + unregisterReceiver(mConnectivityReceiver); + dismissDialog(); } @Override @@ -71,4 +75,33 @@ public void onRequestPermissionsResult(int requestCode, // permissions this app might request } } + + private synchronized void showDialog() { + if (mDialog != null) { + mDialog.dismiss(); + mDialog = null; + } + + mDialog = new ConnectivityDialog(); + mDialog.show(getFragmentManager(), ConnectivityDialog.class.getName()); + } + + private synchronized void dismissDialog() { + if (mDialog != null) { + mDialog.dismiss(); + mDialog = null; + } + } + + + private BroadcastReceiver mConnectivityReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + if (!mNetworkMonitor.isConnectedToiWiFi() && mDialog == null) { + showDialog(); + } else if (mNetworkMonitor.isConnectedToiWiFi() && mDialog != null) { + dismissDialog(); + } + } + }; } diff --git a/app/src/main/java/wseemann/media/romote/activity/ShakeActivity.java b/app/src/main/java/wseemann/media/romote/activity/ShakeActivity.java index 7003083..7f3f0c6 100644 --- a/app/src/main/java/wseemann/media/romote/activity/ShakeActivity.java +++ b/app/src/main/java/wseemann/media/romote/activity/ShakeActivity.java @@ -24,11 +24,6 @@ public void onCreate(Bundle savedInstanceState) { mShakeMonitor = new ShakeMonitor(this); mShakeMonitor.setOnShakeListener(mShakeListener); - } - - @Override - public void onResume() { - super.onResume(); if (shakeEnabled()) { mShakeMonitor.resume(); @@ -36,8 +31,8 @@ public void onResume() { } @Override - public void onPause() { - super.onPause(); + public void onDestroy() { + super.onDestroy(); if (shakeEnabled()) { mShakeMonitor.pause(); diff --git a/app/src/main/java/wseemann/media/romote/fragment/RemoteFragment.java b/app/src/main/java/wseemann/media/romote/fragment/RemoteFragment.java index 4f9ee0a..af538a6 100644 --- a/app/src/main/java/wseemann/media/romote/fragment/RemoteFragment.java +++ b/app/src/main/java/wseemann/media/romote/fragment/RemoteFragment.java @@ -65,6 +65,7 @@ public void onClick(View v) { displaySpeechRecognizer(); } }); + mVoiceSearcButton.requestFocus(); linkButton(CommandConstants.BACK_COMMAND, R.id.back_button); linkRepeatingButton(CommandConstants.UP_COMMAND, R.id.up_button); diff --git a/app/src/main/res/layout/fragment_remote.xml b/app/src/main/res/layout/fragment_remote.xml index bfc5c3b..f2bac3c 100644 --- a/app/src/main/res/layout/fragment_remote.xml +++ b/app/src/main/res/layout/fragment_remote.xml @@ -13,7 +13,9 @@ + android:layout_height="wrap_content" + android:focusable="true" + android:focusableInTouchMode="true"> + android:hint="" + android:nextFocusUp="@id/textbox" + android:nextFocusLeft="@id/textbox"/>/>