diff --git a/app/build.gradle b/app/build.gradle index c122944..27774ea 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,9 +13,6 @@ android { //每个应用拥有不同的authorities,防止相同的在同一个手机上无法同时安装 resValue "string", "authorities", applicationId multiDexEnabled true - ndk { - abiFilters 'armeabi-v7a','arm64-v8a' - } } buildFeatures { viewBinding = true @@ -51,17 +48,12 @@ android { //修改生成的apk名字 android.applicationVariants.all { variant -> variant.outputs.all { - outputFileName = "sbcksyy.apk" + outputFileName = "meetingbook1.apk" } }; } } - sourceSets { - main { - jniLibs.srcDirs = ['libs'] - } - } namespace 'com.rehome.meetingbook' compileOptions { targetCompatibility JavaVersion.VERSION_17 diff --git a/app/libs/arm64-v8a/libwlt2bmp.so b/app/libs/arm64-v8a/libwlt2bmp.so deleted file mode 100644 index dfc2829..0000000 Binary files a/app/libs/arm64-v8a/libwlt2bmp.so and /dev/null differ diff --git a/app/libs/arm64-v8a/libzkwltdecode.so b/app/libs/arm64-v8a/libzkwltdecode.so deleted file mode 100644 index 5d58b4d..0000000 Binary files a/app/libs/arm64-v8a/libzkwltdecode.so and /dev/null differ diff --git a/app/libs/armeabi-v7a/libwlt2bmp.so b/app/libs/armeabi-v7a/libwlt2bmp.so deleted file mode 100644 index 0d0b852..0000000 Binary files a/app/libs/armeabi-v7a/libwlt2bmp.so and /dev/null differ diff --git a/app/libs/armeabi-v7a/libzkwltdecode.so b/app/libs/armeabi-v7a/libzkwltdecode.so deleted file mode 100644 index a6c6543..0000000 Binary files a/app/libs/armeabi-v7a/libzkwltdecode.so and /dev/null differ diff --git a/app/libs/zkandroidcore.jar b/app/libs/zkandroidcore.jar deleted file mode 100644 index df507bf..0000000 Binary files a/app/libs/zkandroidcore.jar and /dev/null differ diff --git a/app/libs/zkandroididcardreader.jar b/app/libs/zkandroididcardreader.jar deleted file mode 100644 index 17bc9de..0000000 Binary files a/app/libs/zkandroididcardreader.jar and /dev/null differ diff --git a/app/src/main/java/com/rehome/meetingbook/ZKUSBManager/ZKUSBManager.java b/app/src/main/java/com/rehome/meetingbook/ZKUSBManager/ZKUSBManager.java deleted file mode 100644 index 8451c7d..0000000 --- a/app/src/main/java/com/rehome/meetingbook/ZKUSBManager/ZKUSBManager.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.rehome.meetingbook.ZKUSBManager; - - -import android.app.PendingIntent; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.hardware.usb.UsbDevice; -import android.hardware.usb.UsbManager; - -import androidx.annotation.NonNull; - -import java.util.Random; - -/** - * usb permission and hotplug - */ -public class ZKUSBManager { - //usb's vendor id - private int vid = 0; - //usb's product id - private int pid = 0; - //application context - private Context mContext = null; - - ///////////////////////////////////////////// - //for usb permission - private static final String SOURCE_STRING = "0123456789-_abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ"; - private static final int DEFAULT_LENGTH = 16; - private String ACTION_USB_PERMISSION; - private boolean mbRegisterFilter = false; - private ZKUSBManagerListener zknirusbManagerListener = null; - - private BroadcastReceiver usbMgrReceiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - String action = intent.getAction(); - if (ACTION_USB_PERMISSION.equals(action)) - { - UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE); - if (device.getVendorId() == vid && device.getProductId() == pid) { - if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) { - zknirusbManagerListener.onCheckPermission(0); - } else { - zknirusbManagerListener.onCheckPermission(-2); - } - } - } - else if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) - { - UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE); - if (device.getVendorId() == vid && device.getProductId() == pid) { - zknirusbManagerListener.onUSBArrived(device); - } - } - else if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) - { - UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE); - if (device.getVendorId() == vid && device.getProductId() == pid) { - zknirusbManagerListener.onUSBRemoved(device); - } - } - } - }; - - - private boolean isNullOrEmpty(String target) { - if (null == target || "".equals(target) || target.isEmpty()) { - return true; - } - return false; - } - - private String createRandomString(String source, int length) { - if (this.isNullOrEmpty(source)) { - return ""; - } - - StringBuffer result = new StringBuffer(); - Random random = new Random(); - - for(int index = 0; index < length; index++) { - result.append(source.charAt(random.nextInt(source.length()))); - } - return result.toString(); - } - - public boolean registerUSBPermissionReceiver() - { - if (null == mContext || mbRegisterFilter) - { - return false; - } - IntentFilter filter = new IntentFilter(); - filter.addAction(ACTION_USB_PERMISSION); - filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED); - filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED); - mContext.registerReceiver(usbMgrReceiver, filter); - mbRegisterFilter = true; - return true; - } - - public void unRegisterUSBPermissionReceiver() - { - if (null == mContext || !mbRegisterFilter) - { - return; - } - mContext.unregisterReceiver(usbMgrReceiver); - mbRegisterFilter = false; - } - - - //End USB Permission - ///////////////////////////////////////////// - - public ZKUSBManager(@NonNull Context context, @NonNull ZKUSBManagerListener listener) - { - super(); - if (null == context || null == listener) - { - throw new NullPointerException("context or listener is null"); - } - zknirusbManagerListener = listener; - ACTION_USB_PERMISSION = createRandomString(SOURCE_STRING, DEFAULT_LENGTH); - mContext = context; - } - - //0 means success - //-1 means device no found - //-2 means device no permission - public void initUSBPermission(int vid, int pid){ - UsbManager usbManager = (UsbManager)mContext.getSystemService(Context.USB_SERVICE); - UsbDevice usbDevice = null; - for (UsbDevice device : usbManager.getDeviceList().values()) { - int device_vid = device.getVendorId(); - int device_pid = device.getProductId(); - if (device_vid == vid && device_pid == pid) - { - usbDevice = device; - break; - } - } - if (null == usbDevice) - { - zknirusbManagerListener.onCheckPermission(-1); - return; - } - this.vid = vid; - this.pid = pid; - if (!usbManager.hasPermission(usbDevice)) - { - Intent intent = new Intent(this.ACTION_USB_PERMISSION); - PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, intent, 0); - usbManager.requestPermission(usbDevice, pendingIntent); - } - else { - zknirusbManagerListener.onCheckPermission(0); - } - } - -} diff --git a/app/src/main/java/com/rehome/meetingbook/ZKUSBManager/ZKUSBManagerListener.java b/app/src/main/java/com/rehome/meetingbook/ZKUSBManager/ZKUSBManagerListener.java deleted file mode 100644 index 5b95d7e..0000000 --- a/app/src/main/java/com/rehome/meetingbook/ZKUSBManager/ZKUSBManagerListener.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.rehome.meetingbook.ZKUSBManager; - - -import android.hardware.usb.UsbDevice; - -public interface ZKUSBManagerListener -{ - //0 means success - //-1 means device no found - //-2 means device no permission - void onCheckPermission(int result); - - void onUSBArrived(UsbDevice device); - - void onUSBRemoved(UsbDevice device); -} diff --git a/app/src/main/java/com/rehome/meetingbook/bean/BaseApiBean.java b/app/src/main/java/com/rehome/meetingbook/bean/BaseApiBean.java new file mode 100644 index 0000000..9511b61 --- /dev/null +++ b/app/src/main/java/com/rehome/meetingbook/bean/BaseApiBean.java @@ -0,0 +1,34 @@ +package com.rehome.meetingbook.bean; + +public class BaseApiBean { + //请求标识 + private int flag; + //状态消息 + private String msg; + //请求是否成功 + private boolean success = false; + + public int getFlag() { + return flag; + } + + public void setFlag(int flag) { + this.flag = flag; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } +} diff --git a/app/src/main/java/com/rehome/meetingbook/bean/MeetingBookBean.java b/app/src/main/java/com/rehome/meetingbook/bean/MeetingBookBean.java new file mode 100644 index 0000000..a520c7e --- /dev/null +++ b/app/src/main/java/com/rehome/meetingbook/bean/MeetingBookBean.java @@ -0,0 +1,59 @@ +package com.rehome.meetingbook.bean; + +import java.util.List; + +public class MeetingBookBean extends BaseApiBean{ + + private RowsBean data; + + public RowsBean getData() { + return data; + } + + public void setData(RowsBean data) { + this.data = data; + } + + public static class RowsBean { + //会议室名称 + private String name; + //会议室状态 + private String status; + //会议开始时间 + private String startTime; + //会议结束时间 + private String endTime; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + } +} diff --git a/app/src/main/java/com/rehome/meetingbook/contans/Contans.java b/app/src/main/java/com/rehome/meetingbook/contans/Contans.java index 707df49..3e5de05 100644 --- a/app/src/main/java/com/rehome/meetingbook/contans/Contans.java +++ b/app/src/main/java/com/rehome/meetingbook/contans/Contans.java @@ -8,7 +8,10 @@ public class Contans { public static String CHECK_UPDATA_APK = "ApkUpdate/GetData.aspx"; - public static String IP = "http://192.168.2.191:8510/"; + // public static String IP = "http://192.168.2.191:8510/"; + public static String IP = "http://10.55.54.200:8500/"; + + // public static String network_type_Intranet = "http://192.168.254.1:8090/"; // public static String network_type_extranet = "http://113.107.214.27:8090/"; diff --git a/app/src/main/java/com/rehome/meetingbook/ui/activity/LoginActivity.java b/app/src/main/java/com/rehome/meetingbook/ui/activity/LoginActivity.java index ee24b33..9cb435b 100644 --- a/app/src/main/java/com/rehome/meetingbook/ui/activity/LoginActivity.java +++ b/app/src/main/java/com/rehome/meetingbook/ui/activity/LoginActivity.java @@ -2,67 +2,41 @@ package com.rehome.meetingbook.ui.activity; import android.app.Activity; -import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; -import android.graphics.Bitmap; -import android.hardware.usb.UsbDevice; -import android.hardware.usb.UsbManager; -import android.os.Build; -import android.provider.Settings; -import android.telephony.TelephonyManager; -import android.text.TextUtils; -import android.util.Log; +import android.graphics.drawable.Drawable; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; -import com.rehome.meetingbook.MainActivity; import com.rehome.meetingbook.R; -import com.rehome.meetingbook.ZKUSBManager.ZKUSBManager; -import com.rehome.meetingbook.ZKUSBManager.ZKUSBManagerListener; import com.rehome.meetingbook.base.BaseActivity2; +import com.rehome.meetingbook.bean.MeetingBookBean; import com.rehome.meetingbook.contans.Contans; import com.rehome.meetingbook.databinding.ActivityLoginBinding; import com.rehome.meetingbook.utils.ControllerActivity; import com.rehome.meetingbook.utils.GsonUtils; import com.rehome.meetingbook.utils.HttpListener; import com.rehome.meetingbook.utils.NoProgresshttpUtils; -import com.rehome.meetingbook.utils.NohttpUtils; -import com.rehome.meetingbook.utils.UiUtlis; import com.rehome.meetingbook.weiget.CustomLoadingDialog; import com.yolanda.nohttp.NoHttp; import com.yolanda.nohttp.RequestMethod; import com.yolanda.nohttp.rest.Request; import com.yolanda.nohttp.rest.Response; -import com.zkteco.android.biometric.core.device.ParameterHelper; -import com.zkteco.android.biometric.core.device.TransportType; -import com.zkteco.android.biometric.core.utils.LogHelper; -import com.zkteco.android.biometric.module.idcard.IDCardReader; -import com.zkteco.android.biometric.module.idcard.IDCardReaderFactory; -import com.zkteco.android.biometric.module.idcard.IDCardType; -import com.zkteco.android.biometric.module.idcard.exception.IDCardReaderException; -import com.zkteco.android.biometric.module.idcard.meta.IDCardInfo; -import com.zkteco.android.biometric.module.idcard.meta.IDPRPCardInfo; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - +import java.util.Timer; +import java.util.TimerTask; import androidx.activity.result.ActivityResult; import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; import androidx.appcompat.widget.Toolbar; +import androidx.core.content.ContextCompat; + + /** * Create By HuangWenFei @@ -72,13 +46,16 @@ import androidx.appcompat.widget.Toolbar; public class LoginActivity extends BaseActivity2 { private long exitTime = 0; - private String meetingRoomName = "报告厅"; - + //private String meetingRoomName = "报告厅"; + private String meetingRoomName = "3楼多媒体会议室"; private CustomLoadingDialog customDialog; private String xm; + //定时器 + private Timer timer; + private final ActivityResultLauncher mAppointmentSearchStartActivityForResult = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), @@ -120,11 +97,11 @@ public class LoginActivity extends BaseActivity2 { }); - } @Override protected void initData() { + binding.tvRoomTitle.setText("欢迎使用" + meetingRoomName); getMeetingRoomBookData(); } @@ -160,6 +137,31 @@ public class LoginActivity extends BaseActivity2 { imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } + @Override + protected void onResume() { + super.onResume(); + if(timer==null){ + try { + timer = new Timer(); + timer.schedule(new TimerTask() { + public void run() { + getMeetingRoomBookData(); + } + }, 20000, 20000); + // 设定指定的时间time,此处为10000毫秒 + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + @Override + public void onDestroy() { + if(timer!=null){ + timer.cancel(); + } + super.onDestroy(); + } //身份证号码格式校验 public boolean checkIdCardNoFormat(String idCardNo) { @@ -206,9 +208,10 @@ public class LoginActivity extends BaseActivity2 { return null; } + public String getPhoneInfo(String name) { - Map param = new HashMap<>(); - param.put("name",name); + Map param = new HashMap<>(); + param.put("name", name); String json = GsonUtils.GsonString(param); showLog(json); return json; @@ -231,7 +234,7 @@ public class LoginActivity extends BaseActivity2 { // } request.setDefineRequestBodyForJson(json); - NoProgresshttpUtils.getInstance().add( 0, request, callback); + NoProgresshttpUtils.getInstance().add(0, request, callback); //NohttpUtils.getInstance().add(LoginActivity.this, 0, request, callback, true, true, "登录中..."); } @@ -241,41 +244,39 @@ public class LoginActivity extends BaseActivity2 { String result = response.get(); showLog("-----login-----"); showLog(result); - -// UserInfo userInfo = GsonUtils.GsonToBean(jsonDecode, UserInfo.class); -// -// if (userInfo != null) { -// UserInfo.User user = userInfo.getRows().get(0); -// String status = user.getStatus(); -// String username = user.getUsernames(); -// String token = user.getToken(); -// -// -// switch (status) { -// case "0": -// showToast("用户名或密码错误"); -// break; -// case "1": -// if (user != null && user.getUsername() != null) { -// String usernameLogin = UiUtlis.getText(etUse); -// if (usernameLogin != null && usernameLogin.equals(user.getUsername())) { -// -// } -// } -// break; -// case "2": -// showToast("登录异常..."); -// break; -// case "3": -// showToast("未激活或未授权..."); -// break; -// case "4": -// showToast("禁止登陆..."); -// break; -// } -// } else { -// showLog(UiUtlis.getString(context, R.string.data_error)); -// } + //showToast(result); + + MeetingBookBean meetingBookBean = GsonUtils.GsonToBean(result, MeetingBookBean.class); + + if (meetingBookBean != null && meetingBookBean.isSuccess() && meetingBookBean.getData() != null) { + MeetingBookBean.RowsBean rowsBean = meetingBookBean.getData(); + String status = rowsBean.getStatus(); + String startTime = rowsBean.getStartTime(); + String endTime = rowsBean.getEndTime(); + if (status.equals("空闲")) { + Drawable drawable = ContextCompat.getDrawable(context, R.drawable.free); + if (drawable != null) { + // 使用drawable + binding.containerMeeting.setBackground(drawable); + binding.tvShowTime.setVisibility(View.INVISIBLE); + binding.tvMeetingTime.setVisibility(View.INVISIBLE); + binding.tvStatus.setText("空闲"); + } + } + if (status.equals("使用中")) { + Drawable drawable = ContextCompat.getDrawable(context, R.drawable.busy); + if (drawable != null) { + // 使用drawable + binding.containerMeeting.setBackground(drawable); + binding.tvShowTime.setVisibility(View.VISIBLE); + binding.tvMeetingTime.setVisibility(View.VISIBLE); + binding.tvStatus.setText("使用中"); + if(rowsBean.getStartTime()!=null&&rowsBean.getEndTime()!=null){ + binding.tvMeetingTime.setText(rowsBean.getStartTime() + "~" + rowsBean.getEndTime()); + } + } + } + } } @Override diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 6fdff97..00095fc 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -4,7 +4,7 @@ android:id="@+id/containerMeeting" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/busy" + android:background="@drawable/free" android:clipToPadding="true" android:fitsSystemWindows="true" android:orientation="vertical" @@ -23,12 +23,13 @@ android:orientation="vertical"> + android:textSize="68px" /> + android:textSize="160px" /> + android:textSize="68px" /> + android:textSize="68px" />