123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398 |
- package epson.support;
- import android.app.Service;
- import android.bluetooth.BluetoothAdapter;
- import android.content.Context;
- import android.net.wifi.WifiManager;
- import android.os.AsyncTask;
- import android.os.Build;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.view.View;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import com.epson.memcardacc.DirectorySelecterActivity;
- import com.epson.mobilephone.common.maintain2.MaintainPrinter2;
- import com.epson.mobilephone.common.wifidirect.ManageDefaultNetwork;
- import com.epson.mobilephone.common.wifidirect.WiFiControl;
- import com.epson.mobilephone.common.wifidirect.WiFiDirectManager;
- import com.epson.mobilephone.common.wifidirect.WifiP2pUtils;
- import java.lang.ref.WeakReference;
- import java.math.BigInteger;
- import java.net.InetAddress;
- import java.net.NetworkInterface;
- import java.net.UnknownHostException;
- import java.nio.ByteOrder;
- import java.util.Collections;
- import epson.common.Constants;
- import epson.common.IPAddressUtils;
- import epson.common.Utils;
- import epson.print.ActivityIACommon;
- import epson.print.MyPrinter;
- import epson.print.R;
- import epson.print.Util.EPLog;
- public class DeviceInformationActivity extends ActivityIACommon {
- private static final int EPS_COMM_BID = 2;
- private static final int EPS_ERR_PRINTER_NOT_FOUND = -1300;
- private static final int EPS_PRNERR_COMM = 102;
- private static final int PROBE_ERROR = 1;
- private static final int STATUS_ERROR = 2;
- private static final int UPDATE_PRINTER_STATUS = 0;
- TextView PrinterIPInfo;
- ProgressBar PrinterProbeProgress;
- TextView PrinterStatusInfo;
- private String TAG = "Device Information";
- TextView TextBluetoothStatus;
- TextView TextIPAddress;
- TextView TextOSVersion;
- TextView TextPrinterIP;
- TextView TextPrinterName;
- TextView TextPrinterStatus;
- TextView TextWiFiName;
- TextView TextWiFiState;
- Handler mHandler = new Handler(new Handler.Callback() {
- public boolean handleMessage(Message message) {
- String str;
- String str2;
- int i = message.getData().getInt(Constants.PRINTER_LOCATION);
- boolean z = false;
- switch (message.what) {
- case 0:
- EPLog.m313i(TAG, "UPDATE_PRINTER_STATUS");
- int[] mStatus = mPrinter.getMPrinterInfor().getMStatus();
- EpLog.m69d("status " + mStatus[0]);
- if (i == 1 && WiFiDirectManager.getConnectInfo(getApplicationContext(), WiFiDirectManager.DEVICE_TYPE_PRINTER) != null) {
- str = getString(R.string.wifi_direct_status);
- z = true;
- } else if (i == 1 || (i == 3 && Utils.isConnectedWifi(getApplicationContext()))) {
- str = getString(R.string.printer_ready);
- z = true;
- } else if (i != 2 && (i != 3 || Utils.isConnectedWifi(getApplicationContext()))) {
- str = getString(R.string.not_select_status);
- } else if (!Utils.isOnline(getApplicationContext())) {
- str = getString(R.string.cannot_connect);
- } else {
- str = getString(R.string.remote_can_connect);
- }
- setPrinterInfo(str, z);
- String access$000 = TAG;
- EPLog.m313i(access$000, "Stt title: " + str);
- break;
- case 1:
- EPLog.m313i(TAG, "PROBE_ERROR");
- if (i != 1 || WiFiDirectManager.getConnectInfo(getApplicationContext(), WiFiDirectManager.DEVICE_TYPE_PRINTER) == null) {
- str2 = getString(R.string.comm_error);
- } else {
- str2 = getString(R.string.wifi_direct_status);
- }
- setPrinterInfo(str2, false);
- String access$0002 = TAG;
- EPLog.m313i(access$0002, "Stt title: " + str2);
- break;
- case 2:
- EPLog.m313i(TAG, "STATUS_ERROR");
- int[] intArray = message.getData().getIntArray("STATUS_ERROR");
- if (i != 1 || WiFiDirectManager.getConnectInfo(getApplicationContext(), WiFiDirectManager.DEVICE_TYPE_PRINTER) == null) {
- if (intArray == null) {
- DeviceInformationActivity deviceInformationActivity = DeviceInformationActivity.this;
- setPrinterInfo(getString(R.string.upon_error), true);
- String access$0003 = TAG;
- EPLog.m313i(access$0003, "Stt titlef: " + getString(R.string.upon_error));
- break;
- } else {
- String access$0004 = TAG;
- EPLog.m313i(access$0004, "statusError[0] : " + intArray[0]);
- String access$0005 = TAG;
- EPLog.m313i(access$0005, "statusError[1] : " + intArray[1]);
- if (intArray[0] != 2 && intArray[0] != 1 && intArray[0] != 3) {
- if (intArray[0] != 4 || (intArray[1] != 102 && intArray[1] != -1300)) {
- DeviceInformationActivity deviceInformationActivity2 = DeviceInformationActivity.this;
- deviceInformationActivity2.setPrinterInfo(deviceInformationActivity2.getString(R.string.upon_error), true);
- String access$0006 = TAG;
- EPLog.m313i(access$0006, "Stt title: " + getString(R.string.upon_error));
- break;
- } else {
- DeviceInformationActivity deviceInformationActivity3 = DeviceInformationActivity.this;
- deviceInformationActivity3.setPrinterInfo(deviceInformationActivity3.getString(R.string.comm_error), false);
- String access$0007 = TAG;
- EPLog.m313i(access$0007, "Stt title: " + getString(R.string.comm_error));
- break;
- }
- } else {
- DeviceInformationActivity deviceInformationActivity4 = DeviceInformationActivity.this;
- deviceInformationActivity4.setPrinterInfo(deviceInformationActivity4.getString(R.string.printer_ready), true);
- String access$0008 = TAG;
- EPLog.m313i(access$0008, "Stt title: " + getString(R.string.printer_ready));
- break;
- }
- }
- } else {
- DeviceInformationActivity deviceInformationActivity5 = DeviceInformationActivity.this;
- deviceInformationActivity5.setPrinterInfo(deviceInformationActivity5.getString(R.string.wifi_direct_status), true);
- String access$0009 = TAG;
- EPLog.m313i(access$0009, "Stt title: " + getString(R.string.printer_ready));
- break;
- }
- break;
- default:
- EPLog.m313i("IprintHome", DirectorySelecterActivity.PARAM_DEFAULT_DIR);
- DeviceInformationActivity deviceInformationActivity6 = DeviceInformationActivity.this;
- deviceInformationActivity6.setPrinterInfo(deviceInformationActivity6.getString(R.string.printer_not_select), false);
- break;
- }
- hideLoadProgressBar();
- return true;
- }
- });
- private MaintainPrinter2 mPrinter = MaintainPrinter2.getInstance();
- private ProbePrinter task;
- protected void onCreate(Bundle bundle) {
- super.onCreate(bundle);
- setContentView(R.layout.device_information);
- setActionBar(R.string.str_deviceInformation_Info, true);
- checkSmartPhoneInfo();
- checkPrinterInfo();
- checkWiFiInfo();
- }
- public void onBackPressed() {
- super.onBackPressed();
- stopProbePrinter();
- }
- public void onDestroy() {
- stopProbePrinter();
- super.onDestroy();
- }
- private void stopProbePrinter() {
- if (this.task != null) {
- EPLog.m313i(this.TAG, "stopProbePrinter");
- mPrinter.doCancelFindPrinter();
- task.cancel(true);
- task = null;
- }
- }
- private void checkPrinterInfo() {
- TextPrinterName = (TextView) findViewById(R.id.tv_devicePrinterName);
- MyPrinter curPrinter = MyPrinter.getCurPrinter(getApplicationContext());
- int location = curPrinter.getLocation();
- if (curPrinter.getName() != null) {
- TextPrinterName.setText(curPrinter.getName());
- showLoadProgressBar();
- if (location == 1 || (location == 3 && Utils.isConnectedWifi(getApplicationContext()))) {
- ManageDefaultNetwork.getInstance(this).setDefaultNetworkSimpleAp();
- EpLog.d("IprintHome", "Update printer status after execute Probing");
- task = new ProbePrinter(curPrinter, mPrinter, mHandler);
- task.execute(new Context[]{this});
- return;
- }
- EpLog.d("IprintHome", "Update printer status without execute Probing ");
- sendUpdatePrinterStatus(mHandler, location);
- }
- }
- private void setPrinterInfo(String str, boolean z) {
- TextPrinterStatus = (TextView) findViewById(R.id.tv_devicePrinterStatus);
- TextPrinterIP = (TextView) findViewById(R.id.tv_devicePrinterIPAddress);
- TextPrinterStatus.setText(str);
- if (z) {
- TextPrinterIP.setText(MyPrinter.getCurPrinter(getApplicationContext()).getIp());
- }
- }
- private void checkSmartPhoneInfo() {
- StringBuilder sb = new StringBuilder();
- TextBluetoothStatus = (TextView) findViewById(R.id.tv_deviceBluetoothStatus);
- TextOSVersion = (TextView) findViewById(R.id.tv_deviceOSVersion);
- sb.append("Android ");
- sb.append(Build.VERSION.RELEASE);
- TextOSVersion.setText(sb.toString());
- BluetoothAdapter defaultAdapter = BluetoothAdapter.getDefaultAdapter();
- if (defaultAdapter == null) {
- TextBluetoothStatus.setText(R.string.str_deviceInformation_BluetoothOFF);
- } else if (!defaultAdapter.isEnabled()) {
- TextBluetoothStatus.setText(R.string.str_deviceInformation_BluetoothOFF);
- } else {
- TextBluetoothStatus.setText(R.string.str_deviceInformation_BluetoothON);
- }
- }
- private void checkWiFiInfo() {
- throw new UnsupportedOperationException("Method not decompiled: epson.support.checkWiFiInfo():void");
- }
- /* renamed from: epson.support.DeviceInformationActivity$2 */
- static /* synthetic */ class C24682 {
- /* renamed from: $SwitchMap$com$epson$mobilephone$common$wifidirect$WiFiControl$ConnectType */
- static final /* synthetic */ int[] f415x793e0ec3 = new int[WiFiControl.ConnectType.values().length];
- static {
- }
- }
- private String getIpAddressFromWiFi() {
- int ipAddress = ((WifiManager) getApplicationContext().getSystemService(Service.WIFI_SERVICE)).getConnectionInfo().getIpAddress();
- if (ByteOrder.nativeOrder().equals(ByteOrder.LITTLE_ENDIAN)) {
- ipAddress = Integer.reverseBytes(ipAddress);
- }
- try {
- return InetAddress.getByAddress(BigInteger.valueOf((long) ipAddress).toByteArray()).getHostAddress();
- } catch (UnknownHostException unused) {
- EpLog.m72e(this.TAG, "Unable to get host address.");
- return null;
- }
- }
- /**
- * 获取ip
- *
- * @param context
- * @return
- */
- public static String getIpAddressFromP2P(Context context) {
- try {
- NetworkInterface p2PInterfaceInfo = WifiP2pUtils.getInstance(context).getP2PInterfaceInfo();
- if (p2PInterfaceInfo == null) {
- return null;
- }
- for (T t : Collections.list(p2PInterfaceInfo.getInetAddresses())) {
- if (!t.isLoopbackAddress()) {
- String upperCase = t.getHostAddress().toUpperCase();
- if (IPAddressUtils.isIPv4Address(upperCase)) {
- return upperCase;
- }
- }
- }
- return null;
- } catch (Exception unused) {
- }
- }
- private static void sendUpdatePrinterStatus(@Nullable Handler handler, int i) {
- if (handler != null) {
- Message obtainMessage = handler.obtainMessage();
- obtainMessage.what = 0;
- Bundle bundle = new Bundle();
- bundle.putInt(Constants.PRINTER_LOCATION, i);
- obtainMessage.setData(bundle);
- handler.sendMessage(obtainMessage);
- }
- }
- private static class ProbePrinter extends AsyncTask<Context, Void, Boolean> {
- private final WeakReference<Handler> mHandlerReference;
- private final MyPrinter mMyPrinter;
- private MaintainPrinter2 mPrinter;
- private int mPrinterLocation;
- protected void onPreExecute() {
- }
- public ProbePrinter(@NonNull MyPrinter myPrinter, @NonNull MaintainPrinter2 maintainPrinter2, @Nullable Handler handler) {
- mHandlerReference = new WeakReference<>(handler);
- mPrinter = maintainPrinter2;
- mMyPrinter = myPrinter;
- }
- protected Boolean doInBackground(Context... contextArr) {
- EpLog.m77i("ProbePrinter doInBackground");
- mPrinter.doInitDriver(contextArr[0], 2);
- mPrinterLocation = mMyPrinter.getLocation();
- int i = mPrinterLocation;
- if (i == 1 || i == 3) {
- if (mMyPrinter.getPrinterId() == null) {
- mPrinterLocation = 0;
- } else if (mPrinter.doProbePrinter(60, mMyPrinter.getPrinterId(), mMyPrinter.getIp(), mPrinterLocation) != 0) {
- localSendMessage(1);
- return false;
- } else {
- int doSetPrinter = mPrinter.doSetPrinter();
- EpLog.m77i("Set Printer result: " + doSetPrinter);
- if (doSetPrinter != 0) {
- localSendMessage(1);
- return false;
- }
- int doGetStatus = mPrinter.doGetStatus();
- EpLog.m77i("Printer Status result: " + doGetStatus);
- if (doGetStatus != 0) {
- localSendMessage(1);
- return false;
- }
- int[] mStatus = mPrinter.getMPrinterInfor().getMStatus();
- if (mStatus[0] != 0) {
- sendStatusError(mStatus);
- return false;
- }
- }
- }
- return true;
- }
- private void sendStatusError(int[] iArr) {
- Handler handler = (Handler) mHandlerReference.get();
- if (handler != null) {
- Message obtainMessage = handler.obtainMessage();
- obtainMessage.what = 2;
- Bundle bundle = new Bundle();
- bundle.putIntArray("STATUS_ERROR", iArr);
- bundle.putInt(Constants.PRINTER_LOCATION, mPrinterLocation);
- obtainMessage.setData(bundle);
- handler.sendMessage(obtainMessage);
- }
- }
- private void localSendMessage(int i) {
- Handler handler = (Handler) mHandlerReference.get();
- if (handler != null) {
- Message obtainMessage = handler.obtainMessage();
- obtainMessage.what = i;
- Bundle bundle = new Bundle();
- bundle.putInt(Constants.PRINTER_LOCATION, mPrinterLocation);
- obtainMessage.setData(bundle);
- handler.sendMessage(obtainMessage);
- }
- }
- protected void onCancelled() {
- EpLog.m77i("ProbePrinter onCancelled");
- super.onCancelled();
- }
- protected void onPostExecute(Boolean bool) {
- EpLog.m77i("ProbePrinter onPostExecute");
- if (bool.booleanValue()) {
- sendUpdatePrinterStatus((Handler) mHandlerReference.get(), mPrinterLocation);
- }
- }
- }
- private void showLoadProgressBar() {
- PrinterProbeProgress = (ProgressBar) findViewById(R.id.progress_status);
- PrinterStatusInfo = (TextView) findViewById(R.id.tv_devicePrinterStatusInfo);
- PrinterIPInfo = (TextView) findViewById(R.id.tv_devicePrinterIPAddressInfo);
- PrinterProbeProgress.setVisibility(View.VISIBLE);
- PrinterStatusInfo.setTextColor(getApplicationContext().getResources().getColor(R.color.light_gray));
- PrinterIPInfo.setTextColor(getApplicationContext().getResources().getColor(R.color.light_gray));
- }
- private void hideLoadProgressBar() {
- PrinterProbeProgress.setVisibility(View.GONE);
- PrinterStatusInfo.setTextColor(getApplicationContext().getResources().getColor(R.color.black));
- PrinterIPInfo.setTextColor(getApplicationContext().getResources().getColor(R.color.black));
- }
- }
|