package com.ifpdos.factorytest;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import java.util.List;

/* JADX INFO: loaded from: classes.dex */
public class WifiTest extends TestItem {
    private static final String TAG = "WifiTest";
    private int mCount;
    private IntentFilter mIntentFilter;
    private BroadcastReceiver mReceiver;
    private boolean mWifiIsOn;
    private WifiManager mWifiManager;
    private int stat;

    public WifiTest(Context context, AttributeSet attributeSet) {
        super(context, attributeSet);
        this.mWifiManager = null;
        this.mIntentFilter = null;
        this.mReceiver = null;
        this.mWifiIsOn = false;
        this.mReceiver = new BroadcastReceiver() { // from class: com.ifpdos.factorytest.WifiTest.1
            @Override // android.content.BroadcastReceiver
            public void onReceive(Context context2, Intent intent) {
                String action = intent.getAction();
                if ("android.net.wifi.WIFI_STATE_CHANGED".equals(action)) {
                    WifiTest.this.handleWifiStateChanged(intent.getIntExtra("wifi_state", 4));
                } else if ("android.net.wifi.SCAN_RESULTS".equals(action) && WifiTest.this.mAutoTest && !WifiTest.this.mTested) {
                    WifiTest.this.updateWifiAccessPoints();
                }
            }
        };
        this.mIntentFilter = new IntentFilter();
        try {
            this.mWifiManager = (WifiManager) this.mContext.getSystemService("wifi");
        } catch (Exception e) {
            e.printStackTrace();
            this.mWifiManager = null;
        }
        if (this.mWifiManager != null) {
            this.mIntentFilter.addAction("android.net.wifi.WIFI_STATE_CHANGED");
            this.mIntentFilter.addAction("android.net.wifi.SCAN_RESULTS");
        }
        this.stat = this.mWifiManager.getWifiState();
        Log.d(TAG, " wifi stat: " + this.stat);
    }

    static String getMacAddr(Context context) {
        long jCurrentTimeMillis = System.currentTimeMillis();
        String macAddress = null;
        while (macAddress == null) {
            try {
                Thread.sleep(100L);
            } catch (Exception unused) {
            }
            WifiInfo connectionInfo = ((WifiManager) context.getSystemService("wifi")).getConnectionInfo();
            macAddress = connectionInfo == null ? null : connectionInfo.getMacAddress();
            if (2000 + jCurrentTimeMillis < System.currentTimeMillis()) {
                break;
            }
        }
        return macAddress == null ? "unknow" : macAddress;
    }

    static boolean macIsNotExist(String str) {
        return TextUtils.isEmpty(str);
    }

    /* JADX INFO: Access modifiers changed from: private */
    public void handleWifiStateChanged(int i) {
        String string;
        if (this.mContext == null) {
            return;
        }
        Log.i(TAG, "state=" + i);
        if (this.mTested) {
            return;
        }
        if (i == 0) {
            string = this.mContext.getResources().getString(R.string.closing);
        } else if (i == 1) {
            string = this.mContext.getResources().getString(R.string.disabled);
        } else if (i == 2) {
            string = this.mContext.getResources().getString(R.string.openning);
        } else if (i == 3) {
            string = this.mContext.getResources().getString(R.string.opened);
            this.mWifiIsOn = true;
            WifiManager wifiManager = this.mWifiManager;
            if (wifiManager != null) {
                wifiManager.startScan();
            }
        } else {
            string = this.mContext.getResources().getString(R.string.error);
            testDone(false, this.mTagDone);
        }
        setStatus(string);
    }

    /* JADX INFO: Access modifiers changed from: private */
    public void updateWifiAccessPoints() {
        List<ScanResult> scanResults = this.mWifiManager.getScanResults();
        if (scanResults != null) {
            int i = 0;
            for (ScanResult scanResult : scanResults) {
                if (scanResult.SSID != null && scanResult.SSID.length() != 0 && !scanResult.capabilities.contains("[IBSS]")) {
                    Log.d(TAG, "Scan results=" + scanResult.toString());
                    if (scanResult.level >= ConfigParameter.mWifiRssi.intValue() && scanResult.level < 0 && ConfigParameter.mTestApName.equals(scanResult.SSID)) {
                        i++;
                    }
                }
            }
            Log.d(TAG, "count=" + i);
            if (i > 0) {
                if (macIsNotExist(getMacAddr(this.mContext))) {
                    testDone(false, this.mContext.getString(R.string.mac_addr_error) + "," + this.mContext.getString(R.string.good_signal));
                } else {
                    testDone(true, this.mTagDone);
                }
            }
        }
    }

    @Override // com.ifpdos.factorytest.TestItem
    boolean doTest() {
        if (this.mContext == null) {
            return false;
        }
        this.mAutoTest = false;
        WifiManager wifiManager = this.mWifiManager;
        if (wifiManager != null) {
            if (wifiManager.getWifiState() == 3) {
                this.mWifiManager.startScan();
            } else if (this.mWifiManager.getWifiState() == 1) {
                this.mWifiManager.setWifiEnabled(true);
            }
            this.mStarted = true;
            Intent intent = new Intent(this.mContext, (Class<?>) WifiTestActivity.class);
            intent.putExtra("FactoryTestPassward", Common.mFactoryTestPassward);
            ((MainTestActivity) this.mContext).startActivityForResult(intent, this.mId.ordinal());
            return true;
        }
        new AskDialog(this.mContext, true, this.mTagYes, false, null, getTitle(), getTitle() + this.mContext.getResources().getString(R.string.error), null);
        return false;
    }

    @Override // com.ifpdos.factorytest.TestItem
    void onStart() {
        if (this.mContext != null) {
            this.mContext.registerReceiver(this.mReceiver, this.mIntentFilter);
        }
        handleWifiStateChanged(this.mWifiManager.getWifiState());
    }

    @Override // com.ifpdos.factorytest.TestItem
    void onStop() {
        if (this.mContext != null) {
            this.mContext.unregisterReceiver(this.mReceiver);
        }
    }

    @Override // com.ifpdos.factorytest.TestItem
    void onDestroy() {
        int i = this.stat;
        if (i == 3 || i == 2) {
            this.mWifiManager.setWifiEnabled(true);
            Log.d(TAG, "恢复wifi网络状态 打开");
        } else {
            this.mWifiManager.setWifiEnabled(false);
            Log.d(TAG, "恢复wifi网络状态 关闭");
        }
        super.onDestroy();
    }

    @Override // com.ifpdos.factorytest.TestItem
    void onAutoTest() {
        if (this.mTested) {
            return;
        }
        int i = this.mCount + 1;
        this.mCount = i;
        if (i >= 6) {
            this.mCount = 0;
            WifiManager wifiManager = this.mWifiManager;
            if (wifiManager != null) {
                if (wifiManager.getWifiState() == 3) {
                    this.mWifiManager.startScan();
                } else if (this.mWifiManager.getWifiState() == 1) {
                    this.mWifiManager.setWifiEnabled(true);
                }
            }
        }
    }
}
