diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f4683f4..fb1e616 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -171,6 +171,7 @@ diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainAContact.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainAContact.java index 95af7eb..f894ccb 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/main/MainAContact.java +++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainAContact.java @@ -1,5 +1,6 @@ package com.aoleyun.sn.activity.main; +import android.graphics.Bitmap; import android.view.View; import com.aoleyun.sn.base.BasePresenter; @@ -11,6 +12,8 @@ public class MainAContact { public interface Presenter extends BasePresenter { /*获取设备锁定状态*/ void getLockedState(); + /*获取设备二维码*/ + void getQRCode(boolean loocked); /*获取学生信息*/ void getStudesInfo(boolean refresh); /*手动获取设备信息更新*/ @@ -20,6 +23,8 @@ public class MainAContact { public interface MainView extends BaseView { /*获取设备锁定状态*/ void setLockedState(boolean loocked); + /*获取设备二维码*/ + void setQRCode(Bitmap qrcode); /*获取学生信息*/ void setStudesInfo(StudentsInfo studesInfo); /*手动获取设备信息更新*/ diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java index 669568c..44018d8 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java +++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java @@ -3,6 +3,7 @@ package com.aoleyun.sn.activity.main; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.graphics.Bitmap; import android.provider.Settings; import android.util.Log; import android.view.View; @@ -11,9 +12,12 @@ import com.aoleyun.sn.BuildConfig; import com.aoleyun.sn.bean.AppUpdateInfo; import com.aoleyun.sn.bean.BaseResponse; import com.aoleyun.sn.bean.StudentsInfo; +import com.aoleyun.sn.comm.CommonConfig; import com.aoleyun.sn.comm.JGYActions; import com.aoleyun.sn.network.NetInterfaceManager; +import com.aoleyun.sn.utils.AES.CXAESUtil; import com.aoleyun.sn.utils.JGYUtils; +import com.aoleyun.sn.utils.Utils; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -79,6 +83,14 @@ public class MainAPresenter implements MainAContact.Presenter { }); } + @Override + public void getQRCode(boolean loocked) { + String encryptString = CXAESUtil.encrypt(CommonConfig.AES_KEY, Utils.getSerial()); + Log.e("getQRCode", "setImageAndText: " + encryptString); + Bitmap bitmap = Utils.createQRImage(encryptString, 400, 400); + mView.setQRCode(bitmap); + } + /** * 通过sn获取用户信息 */ diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java index 751f718..c70af34 100644 --- a/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java +++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java @@ -9,6 +9,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; +import android.graphics.Bitmap; import android.os.IBinder; import android.os.SystemClock; import android.provider.Settings; @@ -79,10 +80,12 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, TextView tv_number; @BindView(R.id.tv_name) TextView tv_name; + @BindView(R.id.tv_wifi) + TextView tv_wifi; @BindView(R.id.chkupd) Button bt_checkupdate; - @BindView(R.id.checkupdate) - ConstraintLayout checkupdate; + // @BindView(R.id.checkupdate) +// ConstraintLayout checkupdate; @BindView(R.id.iv_back) ImageView back; @BindView(R.id.iv_locked) @@ -97,6 +100,8 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, ConstraintLayout cl_imei; @BindView(R.id.tv_customversion) TextView tv_customversion; + @BindView(R.id.iv_qrcode) + ImageView iv_qrcode; @OnClick({R.id.iv_back, R.id.tv_title, R.id.chkupd}) public void onClick(View view) { @@ -155,6 +160,11 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, mMainAPresenter.setLifecycle(lifecycleSubject); JGYUtils.startServices(MainActivity.this); getDevicesInfo(); + if (Utils.isWifiAvailable(MainActivity.this)) { + tv_wifi.setText(Utils.obtainWifiInfo(MainActivity.this) + "dbm"); + }else { + tv_wifi.setText("未连接"); + } setStoreUpdateListener(bt_checkupdate); } @@ -305,6 +315,12 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, setBatchText("", View.GONE); SysSettingUtils.setEnableSetting(this); } + mMainAPresenter.getQRCode(loocked); + } + + @Override + public void setQRCode(Bitmap qrcode) { + iv_qrcode.setImageBitmap(qrcode); } @Override @@ -361,22 +377,22 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, public void setBatchText(String text, int visibility) { tv_batch.setText(text); - tv_batch.setVisibility(visibility); +// tv_batch.setVisibility(visibility); } public void setClassText(String text, int visibility) { tv_class.setText(text); - layout_class.setVisibility(visibility); +// layout_class.setVisibility(visibility); } public void setNumberText(String text, int visibility) { tv_number.setText(text); - layout_number.setVisibility(visibility); +// layout_number.setVisibility(visibility); } public void setNameText(String text, int visibility) { tv_name.setText(text); - layout_name.setVisibility(visibility); +// layout_name.setVisibility(visibility); } public void setHead(String url) { diff --git a/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java b/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java index 05f984e..6e465f0 100644 --- a/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java +++ b/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java @@ -2,6 +2,8 @@ package com.aoleyun.sn.comm; public class CommonConfig { + public static String AES_KEY = "0123456789ABCDEF"; + /*爱华解锁标识*/ public final static String AIHUA_UNLOCK = "Aihua_unlock_state"; diff --git a/app/src/main/java/com/aoleyun/sn/utils/AES/CXAESUtil.java b/app/src/main/java/com/aoleyun/sn/utils/AES/CXAESUtil.java index 56e6559..7b58684 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/AES/CXAESUtil.java +++ b/app/src/main/java/com/aoleyun/sn/utils/AES/CXAESUtil.java @@ -30,19 +30,22 @@ public class CXAESUtil { /** * 加密 * - * @param key - * 密钥 - * @param src - * 加密文本 + * @param key 密钥 + * @param src 加密文本 * @return * @throws Exception */ - public static String encrypt(String key, String src) throws Exception { + public static String encrypt(String key, String src) { // /src = Base64.encodeToString(src.getBytes(), Base64.DEFAULT); byte[] rawKey = toMakekey(key, keyLenght, defaultV).getBytes();// key.getBytes(); - byte[] result = encrypt(rawKey, src.getBytes("utf-8")); - // result = Base64.encode(result, Base64.DEFAULT); - return toHex(result); + try { + byte[] result = encrypt(rawKey, src.getBytes("utf-8")); + // result = Base64.encode(result, Base64.DEFAULT); + return toHex(result); + } catch (Exception e) { + e.printStackTrace(); + return ""; + } } /** diff --git a/app/src/main/java/com/aoleyun/sn/utils/Utils.java b/app/src/main/java/com/aoleyun/sn/utils/Utils.java index 75ca35a..3d3d3c0 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/Utils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/Utils.java @@ -1475,6 +1475,7 @@ public class Utils { /** * 获取电池容量 + * * @param context * @return */ @@ -1690,6 +1691,7 @@ public class Utils { /** * 获取自定义版本号 或者版本号 + * * @return */ public static String getCustomVersion() { @@ -1706,12 +1708,13 @@ public class Utils { /** * 获取系统版本号 + * * @return */ public static String getRomVersion() { if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZhanruiPlatform) { return getProperty("ro.build.id", "获取失败"); - }else if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.CubePlatform) { + } else if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.CubePlatform) { return Utils.getProperty("ro.build.id", "获取失败"); } else if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.MTKPlatform) { return Utils.getProperty("ro.build.id", "获取失败"); @@ -1794,6 +1797,17 @@ public class Utils { } } + public static boolean isWifiAvailable(Context context) { + ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo.State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); + if (NetworkInfo.State.CONNECTED == wifi) { + return true; + } else { + return false; + } + } + + public static String getWifiAlias(Context context) { WifiManager wifiManager = (WifiManager) context.getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); diff --git a/app/src/main/res/drawable-hdpi/head.png b/app/src/main/res/drawable-hdpi/head.png index cd65693..3e60ede 100644 Binary files a/app/src/main/res/drawable-hdpi/head.png and b/app/src/main/res/drawable-hdpi/head.png differ diff --git a/app/src/main/res/drawable/background.xml b/app/src/main/res/drawable/background_main.xml similarity index 100% rename from app/src/main/res/drawable/background.xml rename to app/src/main/res/drawable/background_main.xml diff --git a/app/src/main/res/layout-port/activity_main.xml b/app/src/main/res/layout-port/activity_main.xml index 046eb40..eb92f39 100644 --- a/app/src/main/res/layout-port/activity_main.xml +++ b/app/src/main/res/layout-port/activity_main.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="#ffffff" + android:background="#F4F5F7" android:fitsSystemWindows="true" tools:context=".activity.main.MainActivity"> @@ -25,6 +25,7 @@ android:adjustViewBounds="true" android:scaleType="centerCrop" android:src="@drawable/back" + android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -55,244 +56,95 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@+id/tv_title" app:layout_constraintTop_toTopOf="parent" /> + + - - - + app:layout_constraintTop_toBottomOf="@+id/bannerLayout"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.096" /> - + + - - - - - + android:layout_height="@dimen/dp_36" + android:visibility="visible"> - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +