123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- package com.epson.mobilephone.common.wifidirect;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.app.Dialog;
- import android.app.Service;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.net.NetworkInfo;
- import android.net.wifi.SupplicantState;
- import android.net.wifi.WifiManager;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import epson.print.R;
- public class ActivityControlWiFi extends Activity {
- public static final int SCANNING_TIMEOUT = 10000;
- public static final String SHOWPROGRESS = "com.epson.iprint.wifidirect.progress";
- public static final String SHOWWIFISETTINGS = "com.epson.iprint.wifidirect.wifisettings";
- public static final String TAG = "ActivityControlWiFi";
- final int IDD_NO_WIFI = 0;
- final int ID_SHOWWIFISETTINGS = 0;
- final int MAX_RETRY_SCANNING = 5;
- WifiManager mWifiManager = null;
- NetworkStateChangeReciever networkStateChangeReciever = null;
- int scancount = 0;
- ScanningObserver scannigObserver = new ScanningObserver();
- boolean showProgress = false;
- boolean showWifiSettings = false;
- protected void onCreate(Bundle bundle) {
- EPLog.d(TAG, "onCreate()");
- super.onCreate(bundle);
- mWifiManager = (WifiManager) getApplicationContext().getSystemService(Service.WIFI_SERVICE);
- requestWindowFeature(1);
- Bundle extras = getIntent().getExtras();
- if (extras != null) {
- showProgress = extras.getBoolean(SHOWPROGRESS, false);
- showWifiSettings = extras.getBoolean(SHOWWIFISETTINGS, false);
- }
- if (showProgress) {
- setContentView(R.layout.progress);
- }
- if (showWifiSettings) {
- WiFiUtils.showOsWifiSettings(this, 0);
- } else if (!mWifiManager.isWifiEnabled()) {
- showDialog(0);
- } else {
- EPLog.d(TAG, "Already WiFi Enabled");
- onOK();
- }
- }
- protected void onResume() {
- EPLog.d(TAG, "onResume()");
- super.onResume();
- NfcDispatchUtils.enableForegroundDispatch(this, (IntentFilter[]) null, (String[][]) null);
- }
- protected void onPause() {
- super.onPause();
- NfcDispatchUtils.disableForegroundDispatch(this);
- }
- protected void onActivityResult(int i, int i2, Intent intent) {
- EPLog.d(TAG, "onActivityResult()");
- super.onActivityResult(i, i2, intent);
- if (i == 0) {
- switch (mWifiManager.getWifiState()) {
- case 2:
- case 3:
- registerReciever();
- mWifiManager.startScan();
- return;
- default:
- onCancel();
- return;
- }
- }
- }
- protected void onDestroy() {
- EPLog.d(TAG, "onDestroy()");
- super.onDestroy();
- if (networkStateChangeReciever != null) {
- EPLog.d(TAG, "unregisterReceiver()");
- unregisterReceiver(networkStateChangeReciever);
- networkStateChangeReciever = null;
- }
- scannigObserver.interrunpt();
- }
- protected Dialog onCreateDialog(int i) {
- return i != 0 ? super.onCreateDialog(i) : new AlertDialog.Builder(this).setPositiveButton(getString(17039370), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialogInterface, int i) {
- ActivityControlWiFi.this.registerReciever();
- boolean wifiEnabled = ActivityControlWiFi.mWifiManager.setWifiEnabled(true);
- EPLog.d(ActivityControlWiFi.TAG, "setWifiEnabled return " + wifiEnabled);
- if (!wifiEnabled) {
- WiFiUtils.showOsWifiSettings(ActivityControlWiFi.this, 0);
- }
- }
- }).setNegativeButton(getString(17039360), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialogInterface, int i) {
- ActivityControlWiFi.this.onCancel();
- }
- }).setMessage(getString(R.string.str_no_wifi)).setCancelable(false).create();
- }
- private void onOK() {
- EPLog.d(TAG, "finish():RESULT_OK");
- setResult(-1);
- finish();
- }
- private void onCancel() {
- EPLog.d(TAG, "finish():RESULT_CANCELED");
- setResult(0);
- finish();
- }
- private void registerReciever() {
- if (networkStateChangeReciever == null) {
- EPLog.d(TAG, "registerReceiver()");
- networkStateChangeReciever = new NetworkStateChangeReciever();
- registerReceiver(networkStateChangeReciever, new IntentFilter("android.net.wifi.STATE_CHANGE"));
- registerReceiver(networkStateChangeReciever, new IntentFilter("android.net.wifi.WIFI_STATE_CHANGED"));
- registerReceiver(networkStateChangeReciever, new IntentFilter("android.net.wifi.supplicant.STATE_CHANGE"));
- }
- }
- class NetworkStateChangeReciever extends BroadcastReceiver {
- NetworkStateChangeReciever() {
- }
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (action.equals("android.net.wifi.WIFI_STATE_CHANGED")) {
- EPLog.d(ActivityControlWiFi.TAG, String.format("WiFi State Change : wifiState = %d", new Object[]{Integer.valueOf(intent.getIntExtra("wifi_state", 4))}));
- } else if (action.equals("android.net.wifi.STATE_CHANGE")) {
- NetworkInfo networkInfo = (NetworkInfo) intent.getParcelableExtra("networkInfo");
- EPLog.d(ActivityControlWiFi.TAG, "Network State Changed:" + networkInfo.toString());
- if (ActivityControlWiFi.mWifiManager.isWifiEnabled()) {
- switch (C10903.$SwitchMap$android$net$NetworkInfo$State[networkInfo.getState().ordinal()]) {
- case 1:
- ActivityControlWiFi.this.scannigObserver.interrunpt();
- ActivityControlWiFi.this.onOK();
- return;
- case 2:
- ActivityControlWiFi.this.scannigObserver.interrunpt();
- return;
- default:
- return;
- }
- }
- } else if (action.equals("android.net.wifi.supplicant.STATE_CHANGE")) {
- SupplicantState supplicantState = (SupplicantState) intent.getParcelableExtra("newState");
- EPLog.d(ActivityControlWiFi.TAG, "Supplicant State Changed: State = " + supplicantState.toString());
- switch (C10903.$SwitchMap$android$net$wifi$SupplicantState[supplicantState.ordinal()]) {
- case 1:
- ActivityControlWiFi.this.scancount++;
- if (ActivityControlWiFi.this.scancount > 5) {
- ActivityControlWiFi.this.onOK();
- return;
- } else {
- ActivityControlWiFi.this.scannigObserver.start();
- return;
- }
- case 2:
- ActivityControlWiFi.this.scannigObserver.interrunpt();
- return;
- case 3:
- case 4:
- ActivityControlWiFi.this.onOK();
- return;
- case 5:
- ActivityControlWiFi.this.scannigObserver.start();
- return;
- default:
- return;
- }
- }
- }
- }
- /* renamed from: com.epson.mobilephone.common.wifidirect.ActivityControlWiFi$3 */
- static /* synthetic */ class C10903 {
- static final /* synthetic */ int[] $SwitchMap$android$net$NetworkInfo$State = new int[NetworkInfo.State.values().length];
- static final /* synthetic */ int[] $SwitchMap$android$net$wifi$SupplicantState = new int[SupplicantState.values().length];
- /* JADX WARNING: Can't wrap try/catch for region: R(17:0|(2:1|2)|3|5|6|7|8|9|10|11|12|13|15|16|17|18|20) */
- /* JADX WARNING: Can't wrap try/catch for region: R(18:0|1|2|3|5|6|7|8|9|10|11|12|13|15|16|17|18|20) */
- /* JADX WARNING: Code restructure failed: missing block: B:21:?, code lost:
- return;
- */
- /* JADX WARNING: Failed to process nested try/catch */
- /* JADX WARNING: Missing exception handler attribute for start block: B:11:0x0035 */
- /* JADX WARNING: Missing exception handler attribute for start block: B:17:0x0053 */
- /* JADX WARNING: Missing exception handler attribute for start block: B:7:0x001f */
- /* JADX WARNING: Missing exception handler attribute for start block: B:9:0x002a */
- static {
- /*
- android.net.wifi.SupplicantState[] r0 = android.net.wifi.SupplicantState.values()
- int r0 = r0.length
- int[] r0 = new int[r0]
- $SwitchMap$android$net$wifi$SupplicantState = r0
- r0 = 1
- int[] r1 = $SwitchMap$android$net$wifi$SupplicantState // Catch:{ NoSuchFieldError -> 0x0014 }
- android.net.wifi.SupplicantState r2 = android.net.wifi.SupplicantState.SCANNING // Catch:{ NoSuchFieldError -> 0x0014 }
- int r2 = r2.ordinal() // Catch:{ NoSuchFieldError -> 0x0014 }
- r1[r2] = r0 // Catch:{ NoSuchFieldError -> 0x0014 }
- L_0x0014:
- r1 = 2
- int[] r2 = $SwitchMap$android$net$wifi$SupplicantState // Catch:{ NoSuchFieldError -> 0x001f }
- android.net.wifi.SupplicantState r3 = android.net.wifi.SupplicantState.ASSOCIATING // Catch:{ NoSuchFieldError -> 0x001f }
- int r3 = r3.ordinal() // Catch:{ NoSuchFieldError -> 0x001f }
- r2[r3] = r1 // Catch:{ NoSuchFieldError -> 0x001f }
- L_0x001f:
- int[] r2 = $SwitchMap$android$net$wifi$SupplicantState // Catch:{ NoSuchFieldError -> 0x002a }
- android.net.wifi.SupplicantState r3 = android.net.wifi.SupplicantState.INACTIVE // Catch:{ NoSuchFieldError -> 0x002a }
- int r3 = r3.ordinal() // Catch:{ NoSuchFieldError -> 0x002a }
- r4 = 3
- r2[r3] = r4 // Catch:{ NoSuchFieldError -> 0x002a }
- L_0x002a:
- int[] r2 = $SwitchMap$android$net$wifi$SupplicantState // Catch:{ NoSuchFieldError -> 0x0035 }
- android.net.wifi.SupplicantState r3 = android.net.wifi.SupplicantState.DORMANT // Catch:{ NoSuchFieldError -> 0x0035 }
- int r3 = r3.ordinal() // Catch:{ NoSuchFieldError -> 0x0035 }
- r4 = 4
- r2[r3] = r4 // Catch:{ NoSuchFieldError -> 0x0035 }
- L_0x0035:
- int[] r2 = $SwitchMap$android$net$wifi$SupplicantState // Catch:{ NoSuchFieldError -> 0x0040 }
- android.net.wifi.SupplicantState r3 = android.net.wifi.SupplicantState.DISCONNECTED // Catch:{ NoSuchFieldError -> 0x0040 }
- int r3 = r3.ordinal() // Catch:{ NoSuchFieldError -> 0x0040 }
- r4 = 5
- r2[r3] = r4 // Catch:{ NoSuchFieldError -> 0x0040 }
- L_0x0040:
- android.net.NetworkInfo$State[] r2 = android.net.NetworkInfo.State.values()
- int r2 = r2.length
- int[] r2 = new int[r2]
- $SwitchMap$android$net$NetworkInfo$State = r2
- int[] r2 = $SwitchMap$android$net$NetworkInfo$State // Catch:{ NoSuchFieldError -> 0x0053 }
- android.net.NetworkInfo$State r3 = android.net.NetworkInfo.State.CONNECTED // Catch:{ NoSuchFieldError -> 0x0053 }
- int r3 = r3.ordinal() // Catch:{ NoSuchFieldError -> 0x0053 }
- r2[r3] = r0 // Catch:{ NoSuchFieldError -> 0x0053 }
- L_0x0053:
- int[] r0 = $SwitchMap$android$net$NetworkInfo$State // Catch:{ NoSuchFieldError -> 0x005d }
- android.net.NetworkInfo$State r2 = android.net.NetworkInfo.State.CONNECTING // Catch:{ NoSuchFieldError -> 0x005d }
- int r2 = r2.ordinal() // Catch:{ NoSuchFieldError -> 0x005d }
- r0[r2] = r1 // Catch:{ NoSuchFieldError -> 0x005d }
- L_0x005d:
- return
- */
- throw new UnsupportedOperationException("Method not decompiled: com.epson.mobilephone.common.wifidirect.ActivityControlWiFi.C10903.<clinit>():void");
- }
- }
- class ScanningObserver {
- AsyncTask<Void, Void, Void> observerTask = null;
- ScanningObserver() {
- }
- private void start() {
- interrunpt();
- EPLog.d(ActivityControlWiFi.TAG, "Start ScanningObserver");
- observerTask = new AsyncTask<Void, Void, Void>() {
- protected Void doInBackground(Void... voidArr) {
- int i = 0;
- while (i < 10000) {
- try {
- Thread.sleep(100);
- i += 100;
- if (isCancelled()) {
- return null;
- }
- } catch (InterruptedException e) {
- e.printStackTrace();
- return null;
- }
- }
- return null;
- }
- protected void onPostExecute(Void voidR) {
- EPLog.i(ActivityControlWiFi.TAG, "Timeout ScanningObserver");
- ActivityControlWiFi.this.onOK();
- }
- }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, new Void[0]);
- }
- private void interrunpt() {
- AsyncTask<Void, Void, Void> asyncTask = observerTask;
- if (asyncTask != null && asyncTask.getStatus() == AsyncTask.Status.RUNNING && !this.observerTask.isCancelled()) {
- EPLog.d(ActivityControlWiFi.TAG, "Stop ScanningObserver");
- observerTask.cancel(false);
- }
- }
- }
- }
|