• R/O
  • HTTP
  • SSH
  • HTTPS

A01c: Commit

OPC(Olympus Air)用撮影アプリ。


Commit MetaInfo

Révision716522ca6a33342bbf3885e7e3631480392e94fa (tree)
l'heure2021-01-21 23:18:13
AuteurMRSa <mrsa@myad...>
CommiterMRSa

Message de Log

Wifiの接続についてちょっと改善。

Change Summary

Modification

--- a/wear/src/main/java/jp/sfjp/gokigen/a01c/MainActivity.java
+++ b/wear/src/main/java/jp/sfjp/gokigen/a01c/MainActivity.java
@@ -116,6 +116,7 @@ public class MainActivity extends AppCompatActivity implements IChangeScene, IS
116116 setupActionListener();
117117
118118 wifiConnection = new WifiConnection(this, this);
119+ wifiConnection.requestNetwork();
119120 }
120121 catch (Exception e)
121122 {
--- a/wear/src/main/java/jp/sfjp/gokigen/a01c/WifiConnection.kt
+++ b/wear/src/main/java/jp/sfjp/gokigen/a01c/WifiConnection.kt
@@ -61,7 +61,7 @@ class WifiConnection(private val context: AppCompatActivity, private val callbac
6161
6262 override fun onCapabilitiesChanged(network: Network, networkCapabilities: NetworkCapabilities)
6363 {
64- context.runOnUiThread { Log.d(TAG, "Network capabilities changed") }
64+ Log.d(TAG, "Network capabilities changed")
6565 }
6666
6767 override fun onLost(network: Network)
@@ -182,7 +182,6 @@ class WifiConnection(private val context: AppCompatActivity, private val callbac
182182 * Wifi接続状態の監視
183183 * (接続の実処理は onReceiveBroadcastOfConnection() で実施)
184184 */
185- @Suppress("DEPRECATION")
186185 fun startWatchWifiStatus()
187186 {
188187 Log.v(TAG, "startWatchWifiStatus()")
@@ -215,23 +214,49 @@ class WifiConnection(private val context: AppCompatActivity, private val callbac
215214
216215 private fun requestHighBandwidthNetwork()
217216 {
218- // Before requesting a high-bandwidth network, ensure prior requests are invalidated.
219- unregisterNetworkCallback()
220- Log.d(TAG, "requestHighBandwidthNetwork(): Requesting high-bandwidth network")
221-
222- // Requesting an unmetered network may prevent you from connecting to the cellular
223- // network on the user's watch or phone; however, unless you explicitly ask for permission
224- // to a access the user's cellular network, you should request an unmetered network.
225- val request = NetworkRequest.Builder()
226- .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED)
227- .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
228- .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
229- .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
230- .build()
231-
232- // requires android.permission.CHANGE_NETWORK_STATE
233- connectivityManager.requestNetwork(request, networkCallback)
234- networkConnectionTimeoutHandler.sendMessageDelayed(networkConnectionTimeoutHandler.obtainMessage(MESSAGE_CONNECTIVITY_TIMEOUT), NETWORK_CONNECTIVITY_TIMEOUT_MS)
217+ try
218+ {
219+ val bandwidth: Int = connectivityManager.activeNetwork?.let { activeNetwork ->
220+ connectivityManager.getNetworkCapabilities(activeNetwork)?.linkDownstreamBandwidthKbps
221+ } ?: -1
222+ Log.v(TAG, " requestHighBandwidthNetwork() (Bandwidth: $bandwidth)")
223+ when
224+ {
225+ bandwidth < 0 -> {
226+ // No active network
227+ }
228+ bandwidth in (0 until MIN_NETWORK_BANDWIDTH_KBPS) -> {
229+ // Request a high-bandwidth network
230+ }
231+ else -> {
232+ // すでにつながっているので、何もしない。
233+ Log.d(TAG, " already connected with high-bandwidth network")
234+ return
235+ }
236+ }
237+
238+ // Before requesting a high-bandwidth network, ensure prior requests are invalidated.
239+ unregisterNetworkCallback()
240+ Log.d(TAG, "requestHighBandwidthNetwork(): Requesting high-bandwidth network")
241+
242+ // Requesting an unmetered network may prevent you from connecting to the cellular
243+ // network on the user's watch or phone; however, unless you explicitly ask for permission
244+ // to a access the user's cellular network, you should request an unmetered network.
245+ val request = NetworkRequest.Builder()
246+ .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED)
247+ .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
248+ .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
249+ .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
250+ .build()
251+
252+ // requires android.permission.CHANGE_NETWORK_STATE
253+ connectivityManager.requestNetwork(request, networkCallback)
254+ networkConnectionTimeoutHandler.sendMessageDelayed(networkConnectionTimeoutHandler.obtainMessage(MESSAGE_CONNECTIVITY_TIMEOUT), NETWORK_CONNECTIVITY_TIMEOUT_MS)
255+ }
256+ catch (e : Exception)
257+ {
258+ e.printStackTrace()
259+ }
235260 }
236261
237262 companion object
--- a/wear/src/main/res/values-ja/strings.xml
+++ b/wear/src/main/res/values-ja/strings.xml
@@ -42,7 +42,7 @@
4242 <string name="shoot_camera">撮影!</string>
4343 <string name="shoot_camera_failure">失敗です&#8230;</string>
4444 <string name="video_recording">&#9679;REC</string>
45- <string name="capturing">CAPTURE</string>
45+ <string name="capturing">INTERVAL</string>
4646 <string name="video_failure">失敗です&#8230;</string>
4747 <string name="message_none">---</string>
4848
--- a/wear/src/main/res/values/strings.xml
+++ b/wear/src/main/res/values/strings.xml
@@ -41,7 +41,7 @@
4141 <string name="shoot_camera">Capture!</string>
4242 <string name="shoot_camera_failure">FAILED!</string>
4343 <string name="video_recording">&#9679;REC</string>
44- <string name="capturing">CAPTURE</string>
44+ <string name="capturing">INTERVAL</string>
4545 <string name="video_failure">FAILED!</string>
4646 <string name="message_none">---</string>
4747
Afficher sur ancien navigateur de dépôt.