Commit 211ebcd5 authored by chenyuling's avatar chenyuling

密码不可见,默认账号admin

parent 42be5cff
...@@ -98,6 +98,7 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener, ...@@ -98,6 +98,7 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener,
private HashMap<Integer, Integer> groupLeaveHashMap=null; private HashMap<Integer, Integer> groupLeaveHashMap=null;
private HashMap<Integer,Integer> groupPresentHashMap=null; private HashMap<Integer,Integer> groupPresentHashMap=null;
private boolean isPermission; private boolean isPermission;
public static boolean NEED_NO_REPET = true; //是否需要去重,false:不需要,true:需要
@Override @Override
...@@ -159,6 +160,7 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener, ...@@ -159,6 +160,7 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener,
private void showConfigDialog(int type) { private void showConfigDialog(int type) {
ConfigDlgFragment configDlgFragment = ConfigDlgFragment.getInstance(type); ConfigDlgFragment configDlgFragment = ConfigDlgFragment.getInstance(type);
configDlgFragment.setUsername("admin");
configDlgFragment.setConfigCallback(this); configDlgFragment.setConfigCallback(this);
if (configDlgFragment.isResumed()){ if (configDlgFragment.isResumed()){
return; return;
...@@ -364,13 +366,18 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener, ...@@ -364,13 +366,18 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener,
if (size!=lastEnterSize){ if (size!=lastEnterSize){
//更新进出情况 //更新进出情况
enterAdapter.setDateList(enterBeans); enterAdapter.setDateList(enterBeans);
//更新人员情况 //更新人员情况(是否要根据id去重)
lastEnterSize = size; if (NEED_NO_REPET) {
List<PersonEntity> enterListNo = Utils.removeDuplicates(enterBeans, "id");
lastEnterSize = enterListNo.size();
}else{
lastEnterSize = size;
}
lastPresentSize = lastEnterSize-lastLeaveSize; lastPresentSize = lastEnterSize-lastLeaveSize;
mBinding.nvEnter.setNumber(lastEnterSize); mBinding.nvEnter.setNumber(lastEnterSize);
mBinding.nvLeave.setNumber(lastLeaveSize); mBinding.nvLeave.setNumber(lastLeaveSize);
mBinding.nvPresent.setNumber(lastPresentSize); mBinding.nvPresent.setNumber(lastPresentSize);
//更新分组情况 //更新分组情况(是否要根据id去重)
groupEnterHashMap = getGroupSizeHashMap(enterBeans); groupEnterHashMap = getGroupSizeHashMap(enterBeans);
updatePresentSize(groupEnterHashMap,groupLeaveHashMap); updatePresentSize(groupEnterHashMap,groupLeaveHashMap);
} }
...@@ -386,13 +393,18 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener, ...@@ -386,13 +393,18 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener,
if (size!=lastLeaveSize){ if (size!=lastLeaveSize){
//更新进出情况 //更新进出情况
leaveAdapter.setDateList(leaveBeans); leaveAdapter.setDateList(leaveBeans);
//更新人员情况 //更新人员情况(是否要根据id去重)
lastLeaveSize = size; if (NEED_NO_REPET) {
List<PersonEntity> leaveListNo = Utils.removeDuplicates(leaveBeans, "id");
lastLeaveSize = leaveListNo.size();
}else{
lastLeaveSize = size;
}
lastPresentSize = lastEnterSize-lastLeaveSize; lastPresentSize = lastEnterSize-lastLeaveSize;
mBinding.nvEnter.setNumber(lastEnterSize); mBinding.nvEnter.setNumber(lastEnterSize);
mBinding.nvLeave.setNumber(lastLeaveSize); mBinding.nvLeave.setNumber(lastLeaveSize);
mBinding.nvPresent.setNumber(lastPresentSize); mBinding.nvPresent.setNumber(lastPresentSize);
//更新分组情况 //更新分组情况(是否要根据id去重)
groupLeaveHashMap = getGroupSizeHashMap(leaveBeans); groupLeaveHashMap = getGroupSizeHashMap(leaveBeans);
updatePresentSize(groupEnterHashMap,groupLeaveHashMap); updatePresentSize(groupEnterHashMap,groupLeaveHashMap);
} }
...@@ -405,9 +417,13 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener, ...@@ -405,9 +417,13 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener,
} }
@NonNull @NonNull
private HashMap<Integer, Integer> getGroupSizeHashMap(List<PersonEntity> personEntityList) { private HashMap<Integer, Integer> getGroupSizeHashMap(List<PersonEntity> personEntityList) {
HashMap<Integer, Integer> groupSizeHashMap = new HashMap<>(); HashMap<Integer, Integer> groupSizeHashMap = new HashMap<>();
if (NEED_NO_REPET) {
personEntityList = Utils.removeDuplicates(personEntityList,"id");
}
if (mQueryPersonList != null) { if (mQueryPersonList != null) {
for (PersonEntity entity : mQueryPersonList) { for (PersonEntity entity : mQueryPersonList) {
int group = entity.getGroup(); int group = entity.getGroup();
...@@ -455,7 +471,11 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener, ...@@ -455,7 +471,11 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener,
groupPresentHashMap.put(group,groupPresentHashMap.get(group)-leaveSize); groupPresentHashMap.put(group,groupPresentHashMap.get(group)-leaveSize);
} }
} }
//如果只有一个人,从一个组换到另一个组,之前的数据没有清空,需要先进行清空,置空为0
SharedUtil.getInstance(this).writeShared(WATERPROOF,0);
SharedUtil.getInstance(this).writeShared(OUTRIGGER,0);
SharedUtil.getInstance(this).writeShared(BUILD,0);
SharedUtil.getInstance(this).writeShared(SUPERVISOR,0);
for (Map.Entry<Integer, Integer> presentEntry : groupPresentHashMap.entrySet()) { for (Map.Entry<Integer, Integer> presentEntry : groupPresentHashMap.entrySet()) {
int group = presentEntry.getKey(); int group = presentEntry.getKey();
int presentSize = presentEntry.getValue(); int presentSize = presentEntry.getValue();
...@@ -519,12 +539,13 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener, ...@@ -519,12 +539,13 @@ public class MainActivity extends BaseActivity implements OnTimeUpdateListener,
}*/ }*/
Log.i(TAG, "getTotalPerson: 已获取总数:personEntities.size="+personEntities.size()); Log.i(TAG, "getTotalPerson: 已获取总数:personEntities.size="+personEntities.size());
PersonMgr.getInstance().updatePersonThread(personEntities, () -> { PersonMgr.getInstance().updatePersonThread(personEntities, () -> {
runOnUiThread(()->{
ClickUtil.enableClick(mBinding.btnGroupDetail);
});
Intent intent = new Intent(MainActivity.this, GroupActivity.class); Intent intent = new Intent(MainActivity.this, GroupActivity.class);
startActivity(intent); startActivity(intent);
}); });
runOnUiThread(()->{
ClickUtil.enableClick(mBinding.btnGroupDetail);
});
} }
......
...@@ -7,6 +7,7 @@ import android.content.Context; ...@@ -7,6 +7,7 @@ import android.content.Context;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.text.InputType;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
...@@ -34,6 +35,7 @@ public class ConfigDlgFragment extends DialogFragment { ...@@ -34,6 +35,7 @@ public class ConfigDlgFragment extends DialogFragment {
private String mLastAccount; private String mLastAccount;
private String mLastPassword; private String mLastPassword;
private String mLastServerIp; private String mLastServerIp;
private String username;
public static ConfigDlgFragment getInstance(int type){ public static ConfigDlgFragment getInstance(int type){
ConfigDlgFragment configDlgFragment = new ConfigDlgFragment(); ConfigDlgFragment configDlgFragment = new ConfigDlgFragment();
...@@ -59,6 +61,7 @@ public class ConfigDlgFragment extends DialogFragment { ...@@ -59,6 +61,7 @@ public class ConfigDlgFragment extends DialogFragment {
mBinding.evAccount.initItem("设备账号:","输入设备账号"); mBinding.evAccount.initItem("设备账号:","输入设备账号");
mBinding.evPassword.initItem("设备密码:","输入设备密码"); mBinding.evPassword.initItem("设备密码:","输入设备密码");
mBinding.evServerip.initItem("设备IP:","输入设备IP"); mBinding.evServerip.initItem("设备IP:","输入设备IP");
mBinding.evPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
if (type== ENTER_TYPE){ if (type== ENTER_TYPE){
mBinding.tvTitle.setText("进去设备的配置信息"); mBinding.tvTitle.setText("进去设备的配置信息");
}else if (type == LEAVE_TYPE){ }else if (type == LEAVE_TYPE){
...@@ -66,6 +69,10 @@ public class ConfigDlgFragment extends DialogFragment { ...@@ -66,6 +69,10 @@ public class ConfigDlgFragment extends DialogFragment {
} }
if (!TextUtils.isEmpty(mLastAccount)){ if (!TextUtils.isEmpty(mLastAccount)){
mBinding.evAccount.setContent(mLastAccount); mBinding.evAccount.setContent(mLastAccount);
}else{
if (!TextUtils.isEmpty(username)){
mBinding.evAccount.setContent(username);
}
} }
if (!TextUtils.isEmpty(mLastPassword)){ if (!TextUtils.isEmpty(mLastPassword)){
mBinding.evPassword.setContent(mLastPassword); mBinding.evPassword.setContent(mLastPassword);
...@@ -116,6 +123,10 @@ public class ConfigDlgFragment extends DialogFragment { ...@@ -116,6 +123,10 @@ public class ConfigDlgFragment extends DialogFragment {
} }
} }
public void setUsername(String username){
this.username = username;
}
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
......
...@@ -9,9 +9,11 @@ import android.content.res.Configuration; ...@@ -9,9 +9,11 @@ import android.content.res.Configuration;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.provider.Settings; import android.provider.Settings;
import android.text.InputType;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
import android.util.Log; import android.util.Log;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.EditText;
import android.widget.Toast; import android.widget.Toast;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
...@@ -21,11 +23,17 @@ import java.io.DataOutputStream; ...@@ -21,11 +23,17 @@ import java.io.DataOutputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.lang.reflect.Field;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import me.jessyan.autosize.AutoSizeConfig; import me.jessyan.autosize.AutoSizeConfig;
import me.jessyan.autosize.onAdaptListener; import me.jessyan.autosize.onAdaptListener;
...@@ -203,7 +211,6 @@ public class Utils { ...@@ -203,7 +211,6 @@ public class Utils {
} }
//获取自己应用内部的版本名 //获取自己应用内部的版本名
public static String getVersionName(Context context) { public static String getVersionName(Context context) {
PackageManager manager = context.getPackageManager(); PackageManager manager = context.getPackageManager();
String name = null; String name = null;
...@@ -222,6 +229,17 @@ public class Utils { ...@@ -222,6 +229,17 @@ public class Utils {
return Integer.parseInt(replace); return Integer.parseInt(replace);
} }
/*控制输入内容的可见*/
public static void setEditTextVisible(EditText editText) {
editText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
}
/*控制输入内容的不可见*/
public static void setEditTextInvisible(EditText editText) {
editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
/** 判断字符串中是否包含数字 **/ /** 判断字符串中是否包含数字 **/
public static boolean isContainsNum(String input) { public static boolean isContainsNum(String input) {
int len = input.length(); int len = input.length();
...@@ -233,6 +251,52 @@ public class Utils { ...@@ -233,6 +251,52 @@ public class Utils {
return false; return false;
} }
/**
* 通过对象的某个字段判断,如果有item的该字段重复则去重
* @param originalList 对象的列表
* @param fieldName 对象的某个字段
* @param <T> 某对象
* @return
*/
public static <T> List<T> removeDuplicates(List<T> originalList, String fieldName) {
Set<Object> set = new LinkedHashSet<>();
List<T> distinctList = new ArrayList<>();
for (T item : originalList) {
Object fieldValue = getFieldValue(item, fieldName);
if (!set.contains(fieldValue)) {
set.add(fieldValue);
distinctList.add(item);
}
}
return distinctList;
}
private static Object getFieldValue(Object obj, String fieldName) {
try {
Field field = obj.getClass().getDeclaredField(fieldName);
//允许访问私有字段
field.setAccessible(true);
return field.get(obj);
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
return null;
}
/**
* 将某个List列表倒序排序
* @param originalList
* @param <T>
* @return
*/
public static <T> List<T> reverseList(List<T> originalList) {
List<T> reversedList = new ArrayList<>(originalList);
Collections.reverse(reversedList);
return reversedList;
}
//返回true表示用限制使用 //返回true表示用限制使用
public static boolean isRootPermissionRestricted() { public static boolean isRootPermissionRestricted() {
......
...@@ -58,4 +58,5 @@ public class EditView extends LinearLayout { ...@@ -58,4 +58,5 @@ public class EditView extends LinearLayout {
public void setInputType(int type){ public void setInputType(int type){
mBinding.etContent.setInputType(type); mBinding.etContent.setInputType(type);
} }
} }
package com.srthinker.statinfo;
import com.srthinker.statinfo.database.entity.PersonEntity;
import com.srthinker.statinfo.util.common.Utils;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
public class UtilTest {
@Test
public void noRepet(){
List<PersonEntity> personEntities = new ArrayList<>();
for (int i = 0; i < 4; i++) {
PersonEntity person = new PersonEntity();
person.setId("1");
person.setPerson_name("王大崔");
person.setTimestamp("11:0"+i);
personEntities.add(person);
}
for (PersonEntity personEntity : personEntities) {
System.out.println("去重前:id="+personEntity.getId()+" name="+personEntity.getPerson_name()+" time="+personEntity.getTimestamp());
}
List<PersonEntity> personEntities2 = Utils.reverseList(personEntities);
List<PersonEntity> personEntities1 = Utils.removeDuplicates(personEntities2, "id");
for (PersonEntity personEntity : personEntities1) {
System.out.println("去重后:id="+personEntity.getId()+" name="+personEntity.getPerson_name()+" time="+personEntity.getTimestamp());
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment