Commit 8affeeed by Baoxy

build: 临时出版本,修改部分文字显示

parent 1cbe43ca
......@@ -48,8 +48,6 @@
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="middleware.permission.MDM" />
<application
......
......@@ -165,7 +165,7 @@
android:name=".SettingsActivity"
android:autoRemoveFromRecents="true"
android:excludeFromRecents="true"
android:label="@string/settings_button_text"
android:label="@string/edu_title_setting_admin"
android:theme="@android:style/Theme.DeviceDefault.Settings">
<intent-filter>
<action android:name="android.intent.action.APPLICATION_PREFERENCES" />
......
......@@ -11,6 +11,7 @@
android:id="@+id/tv_setting_title"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="#FFF2F2F2"
android:drawableStart="@mipmap/ic_back"
android:drawablePadding="10dp"
android:gravity="center_vertical"
......@@ -23,96 +24,130 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_height="match_parent"
android:background="@color/bg_white"
android:gravity="center_vertical"
android:onClick="more"
android:orientation="horizontal">
android:orientation="vertical">
<TextView
android:id="@+id/tv_app_use_time"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
android:onClick="close"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="@string/edu_item_app_use_last_day"
android:textColor="#363636"
android:textSize="16sp" />
<com.qmuiteam.qmui.widget.QMUIEmptyView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:drawableEnd="@drawable/ic_chevron_right_gray_24dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center_vertical"
android:text="@string/edu_item_app_use_more"
android:textColor="#ABABAB"
android:textSize="15sp" />
</LinearLayout>
android:orientation="horizontal">
<com.secspace.lib.common.function.view.AppUseProgress
android:id="@+id/time_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/bg_white"
android:padding="10dp" />
<TextView
android:id="@+id/tv_app_use_time"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
android:onClick="close"
android:textColor="#363636"
android:textSize="16sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_margin="10dp"
android:background="@drawable/select_date_select"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
</LinearLayout>
<com.secspace.lib.common.function.view.AppUseProgress
android:id="@+id/time_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp"
android:layout_marginRight="10dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:drawablePadding="10dp"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="选择日期"
android:textColor="#ACACAC"
android:textSize="15sp" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:background="#ACACAC"/>
android:background="@drawable/select_date_select"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_date_start"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="48dp"
android:gravity="center"
android:text="开始时间"
android:textColor="#ACACAC"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:textColor="#ACACAC"
android:gravity="center"
android:text=" — "/>
<TextView
android:id="@+id/tv_date_end"
android:layout_width="0dp"
android:layout_weight="1"
<TextView
android:layout_width="wrap_content"
android:layout_height="48dp"
android:drawablePadding="10dp"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="选择日期"
android:textColor="#ACACAC"
android:textSize="15sp" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:background="#ACACAC" />
<TextView
android:id="@+id/tv_date_start"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:gravity="center"
android:text="开始时间"
android:textColor="#ACACAC"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:text=" — "
android:textColor="#ACACAC" />
<TextView
android:id="@+id/tv_date_end"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:gravity="center"
android:text="结束时间"
android:textColor="#ACACAC"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="center"
android:text="结束时间"
android:textColor="#ACACAC"
android:textSize="15sp" />
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_app_use_total_time"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
android:onClick="close"
android:textColor="#363636"
android:textSize="16sp" />
<com.qmuiteam.qmui.widget.QMUIEmptyView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="48dp"
android:onClick="more"
android:drawableEnd="@drawable/ic_chevron_right_gray_24dp"
android:gravity="center_vertical"
android:text="@string/edu_item_app_use_more"
android:textColor="#ABABAB"
android:textSize="15sp" />
</LinearLayout>
<com.secspace.lib.common.function.view.UseTimeProgress
android:id="@+id/use_time_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" />
</LinearLayout>
</LinearLayout>
......@@ -65,7 +65,7 @@
android:fontFamily="sans-serif-condensed"
android:gravity="center_horizontal"
android:stateListAnimator="@animator/overview_button_anim"
android:text="@string/settings_button_text"
android:text="@string/edu_title_setting_admin"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textSize="12sp" />
......
......@@ -323,6 +323,8 @@
<string name="edu_uninstall_tip">继续操作将卸载学习空间,请确认是否继续</string>
<string name="edu_title_setting">设置</string>
<string name="edu_title_setting_admin">家长设置</string>
<string name="edu_title_setting_rule">常规设置</string>
<string name="edu_item_version">版本号</string>
<string name="edu_item_wallpaper">修改壁纸</string>
<string name="edu_item_func_mdm">功能管控</string>
......@@ -379,7 +381,9 @@
<string name="edu_item_app_use_title">应用使用情况</string>
<string name="edu_item_app_use_last_day">最近一天使用时长: %1$s分钟</string>
<string name="edu_item_app_use_more">更多</string>
<string name="edu_item_app_use_more">生成报告</string>
<string name="edu_item_app_use_total">使用总时长: %1$s分钟</string>
......
......@@ -35,7 +35,7 @@ public class OverviewAccessibilityDelegate extends AccessibilityDelegate {
private static final int OVERVIEW = R.string.accessibility_action_overview;
private static final int WALLPAPERS = R.string.wallpaper_button_text;
private static final int WIDGETS = R.string.widget_button_text;
private static final int SETTINGS = R.string.settings_button_text;
private static final int SETTINGS = R.string.edu_title_setting_admin;
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
......
......@@ -33,6 +33,8 @@ class AppUseActivity : BaseActivity() {
private var selectStartTime: Long = 0
private var selectEndTime: Long = 0
private var selectUseAppEntitys: ArrayList<UseAppEntity>? = null
private var selectTotalTime: Long = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
......@@ -103,25 +105,15 @@ class AppUseActivity : BaseActivity() {
defaultUseAppEntitys!![3] = tempAppEntity
defaultUseAppEntitys!!.removeAt(4)
}
loadFinished()
withContext(Dispatchers.Main) {
initChart()
}
}
}
}
private suspend fun loadFinished() = withContext(Dispatchers.Main) {
initChart()
}
private fun initView() {
tv_setting_title.setText(R.string.edu_item_app_use_title)
val startDate = Calendar.getInstance()
startDate.set(2019, 0, 1)
val endDate = Calendar.getInstance()
endDate.set(2030, 11, 31)
val selectedDate = Calendar.getInstance()
val beforeDate = Calendar.getInstance()
beforeDate.set(selectedDate.time.year, selectedDate.time.month, selectedDate.time.day - 1)
}
private fun initChart() {
......@@ -151,6 +143,7 @@ class AppUseActivity : BaseActivity() {
selectStartTime = date.time
tv_date_start.text = format.format(Date(selectStartTime))
Log.e(TAG, "开始选择:${selectStartTime}")
selectLoadData()
}).setRangDate(startDate, endDate)
.setDate(startSelectDate)
.build().show()
......@@ -161,21 +154,78 @@ class AppUseActivity : BaseActivity() {
selectEndTime = date.time
tv_date_end.text = format.format(Date(selectEndTime))
Log.e(TAG, "结束选择:${selectEndTime}")
selectLoadData()
}).setRangDate(startDate, endDate)
.setDate(nowDate)
.build().show()
}
selectLoadData()
}
fun close(view: View?) {
finish()
}
fun more(view: View) {
private fun selectLoadData() {
selectUseAppEntitys = ArrayList()
selectTotalTime = 0L
GlobalScope.launch(Dispatchers.IO) {
mContext?.let { it ->
val useAppDao = DatabaseManager.getInstance(it).getUseAppDao()
val useTimeDao = DatabaseManager.getInstance(it).getUseTimeDao()
val useApps = useAppDao?.queryAll()
val useTimes = useTimeDao?.queryByTime(selectStartTime, selectEndTime)
if (useApps == null) {
return@let
}
Log.i(TAG, "useApps: ${useApps.size} useTimes: ${useTimes?.size}")
val tempEntitys = ArrayList<UseAppEntity>()
useTimes?.map<UseTime, UseTime> { useTime ->
if (useTime.useStartTime < selectStartTime) {
useTime.useStartTime = selectStartTime
}
if (useTime.useEndTime > selectEndTime) {
useTime.useEndTime = selectEndTime
}
useTime
}?.filter { useTime ->
useApps.any { useApp ->
useApp.appPackage == useTime.appPackage
}
}?.forEach { useTime ->
val useApp = UseAppEntity(useTime.appPackage, "", (useTime.useEndTime - useTime.useStartTime) / 1000 / 60)
tempEntitys.add(useApp)
}
tempEntitys.groupBy {
it.appPackage
}.values.flatten().forEach { useAppEntity ->
useApps.forEach {
if (it.appPackage == useAppEntity.appPackage) {
useAppEntity.appName = it.appName
}
}
selectUseAppEntitys?.add(useAppEntity)
selectTotalTime += useAppEntity.useTime
}
// 根据使用时间降序排列
selectUseAppEntitys!!.sortByDescending { it.useTime }
withContext(Dispatchers.Main) {
tv_app_use_total_time.text = String.format(getString(R.string.edu_item_app_use_total), selectTotalTime)
val allTime: Float = ((selectEndTime - selectStartTime) / 1000 / 60).toFloat()
val showTime = selectTotalTime / allTime * 100
Log.e(TAG, "showTime = $showTime , allTime = $allTime")
use_time_progress.setProgress(showTime)
}
}
}
}
fun more(view: View) {}
}
private fun Calendar.set(format: String?, format1: String?, format2: String?) {
format?.toInt()?.let { format1?.toInt()?.let { it1 -> format2?.toInt()?.let { it2 -> set(it, it1 - 1, it2) } } }
}
......@@ -30,7 +30,7 @@ class SettingActivity : BaseActivity() {
}
private fun initView() {
tv_setting_title.setText(R.string.edu_title_setting)
tv_setting_title.setText(R.string.edu_title_setting_rule)
wlan = grouplistview.createItemView(null,
getString(R.string.edu_item_wlan),
null,
......
......@@ -45,7 +45,7 @@ class SettingAdminActivity : BaseActivity() {
}
private fun initView() {
tv_setting_title.setText(R.string.edu_title_setting)
tv_setting_title.setText(R.string.edu_title_setting_admin)
icon = grouplistview.createItemView(null,
getString(R.string.edu_item_icon),
null,
......
......@@ -11,6 +11,8 @@
</p>
<h5><font color="black">功能权限</font>
</h5>
<p><font color="black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;电话、存储</font></p>
<p></p>
<p><font color="black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;应用运行管理</font></p>
<p></p>
<p><font color="black">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下拉菜单的禁用/启用</font></p>
......
......@@ -26,8 +26,8 @@ MAVEN_URL=http://192.168.0.170:13000/nexus/content/repositories/releases/
MAVEN_URL_SNAPSHOT=http://192.168.0.170:13000/nexus/content/repositories/releases/
#32位有符号数2147483647(10)
versionIntCode=2020032601
versionIntCode=2020040701
versionNameMajor=1
versionNameMinor=2
versionNameMinor=0
versionNamePatch=0
\ No newline at end of file
......@@ -46,8 +46,6 @@ public abstract class BaseActivity extends AppCompatActivity implements EasyPerm
private static final String[] RUNTIME_PERMISSIONS = new String[]{
"android.permission.READ_PHONE_STATE",
"android.permission.CALL_PHONE",
"android.permission.ACCESS_FINE_LOCATION",
"android.permission.ACCESS_COARSE_LOCATION",
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE",
};
......
......@@ -56,14 +56,14 @@ object DialogManager {
BuyCodeDialog.getInstance(context).show()
}
fun showMessageDialog(activity: Activity?, title: String?, content: String?, listener: MessageListener) {
fun showMessageDialog(activity: Activity?, title: String?, content: String?, listener: MessageListener?) {
DialogUIUtils.showAlert(activity, title, content, "", "", "确定", "取消", false, false, false, object : DialogUIListener() {
override fun onPositive() {
listener.onPositive()
listener?.onPositive()
}
override fun onNegative() {
listener.onNegative()
listener?.onNegative()
}
}).show()
}
......
......@@ -18,10 +18,7 @@ import com.secspace.lib.common.utils.*
import com.secspace.log.Log
import com.secspace.mdmengine.api.manager.MdmFactoryManager
import com.skr.activation.network.linstener.CheckActiveStatusListener
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.*
import java.io.File
object WorkManager {
......@@ -64,7 +61,6 @@ object WorkManager {
return
}
//检查系统代理件动态权限
//检查系统代理件动态权限
if (!hasPermissions(SYSTEM_AGENT_RUNTIME_PERMISSIONS, PkgSecSpace.PACKAGENAME_MIDDLEWARE)) {
IntentUtil.startRuntimePermissionActivity(mContext, PkgSecSpace.PACKAGENAME_MIDDLEWARE)
Log.i(TAG, "system agent request runtime permission")
......@@ -75,6 +71,12 @@ object WorkManager {
openAccessibility(launcher)
SwitchInMdm.onInit(launcher)
activate(launcher)
withContext(Dispatchers.Main){
if(Prefs.isTips(launcher)){
DialogManager.showMessageDialog(launcher, launcher.getString(R.string.common_remind), launcher.getString(R.string.edu_item_first_install_tips), null)
Prefs.setTips(launcher, false)
}
}
// checkLocalUpdateFile() //检查本地更新文件
delay(5000)
ActivationHelper.checkActivate(launcher, EduCheckActiveStatusListener(launcher))
......
......@@ -123,15 +123,15 @@ public class UseTimeProgress extends View {
* 初始化画笔宽度及view大小
*/
private void init() {
progressPaintWidth = dp2px(1);
progressHeight = dp2px(3);
progressPaintWidth = dp2px(6);
progressHeight = dp2px(6);
roundRectRadius = dp2px(3);
textPaintSize = sp2px(10);
textHeight = dp2px(10);
progressMarginTop = dp2px(4);
//view真实的高度
mViewHeight = (int) (textHeight + progressMarginTop + progressPaintWidth * 2 + progressHeight);
mViewHeight = (int) (progressMarginTop + progressPaintWidth * 2 + progressHeight);
}
......@@ -228,7 +228,7 @@ public class UseTimeProgress extends View {
super.onDraw(canvas);
//绘制文字
drawText(canvas, textString);
// drawText(canvas, textString);
//背景
drawBgProgress(canvas);
//进度条
......
......@@ -21,6 +21,7 @@ public class Prefs {
public static final String ALLOW_NEW_APP = "allow_new_app";
public static final String WIFI_WHITE_LIST = "wifi_white_list";
public static final String IS_FIRST_INIT = "is_first_init";
public static final String IS_TIPS = "is_tips";
public static final String LOGIN_PWD = "login_pwd";
public static final String PWD_PROTECTION_ANSWER_1 = "pwd_protection_answer_1";
public static final String PWD_PROTECTION_ANSWER_2 = "pwd_protection_answer_2";
......@@ -220,6 +221,25 @@ public class Prefs {
}
/**
* 设置是否提示过
*
* @param context
* @param isFirstInit
*/
public static void setTips(Context context, boolean isFirstInit) {
putBoolean(context, IS_TIPS, isFirstInit);
}
/**
* 获取是否提示过
*
* @param context
*/
public static boolean isTips(Context context) {
return getBoolean(context, IS_TIPS, true);
}
/**
* 设置wifi白名单列表
*
* @param context
......
......@@ -41,4 +41,6 @@
<string name="btn_input_code">输入激活码</string>
<string name="dialog_tip_activate_lose">网络异常,请确认网络后重新进入</string>
<string name="accessibility_tips">为了确保此应用正常运行,需要开启辅助功能</string>
<string name="edu_item_first_install_tips">长按桌面可进入家长设置</string>
</resources>
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