Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
MobileManager
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Wang Xu
MobileManager
Commits
5896f532
Commit
5896f532
authored
Mar 21, 2020
by
Baoxy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 禁止桌面摆放多个相同图标/优化激活逻辑
parent
7808bffa
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
81 additions
and
114 deletions
+81
-114
AndroidManifest.xml
Launcher3/AndroidManifest.xml
+1
-1
activity_setting.xml
Launcher3/res/layout/activity_setting.xml
+1
-1
Launcher.java
Launcher3/src/com/android/launcher3/Launcher.java
+2
-7
ManagerAuthActivity.java
Launcher3/src/com/android/launcher3/ManagerAuthActivity.java
+4
-4
Workspace.java
Launcher3/src/com/android/launcher3/Workspace.java
+0
-0
SettingAdminActivity.kt
...ndroid/launcher3/function/setting/SettingAdminActivity.kt
+1
-1
SettingPwdActivity.kt
.../android/launcher3/function/setting/SettingPwdActivity.kt
+0
-72
BlankActivity.java
...er3/src/com/android/launcher3/settings/BlankActivity.java
+8
-0
ActivationHelper.kt
...java/com/secspace/lib/common/function/ActivationHelper.kt
+1
-1
BuyCodeDialog.kt
...in/java/com/secspace/lib/common/function/BuyCodeDialog.kt
+1
-8
DialogManager.kt
...in/java/com/secspace/lib/common/function/DialogManager.kt
+12
-0
PrivacyPolicyDialog.java
...com/secspace/lib/common/function/PrivacyPolicyDialog.java
+5
-1
WorkManager.kt
...main/java/com/secspace/lib/common/function/WorkManager.kt
+36
-11
dialogui_holder_alert.xml
lib_common/src/main/res/layout/dialogui_holder_alert.xml
+9
-7
No files found.
Launcher3/AndroidManifest.xml
View file @
5896f532
...
@@ -80,7 +80,7 @@
...
@@ -80,7 +80,7 @@
<activity
android:name=
".settings.wifi.WifiWhiteListActivity"
<activity
android:name=
".settings.wifi.WifiWhiteListActivity"
android:excludeFromRecents=
"true"
/>
android:excludeFromRecents=
"true"
/>
<activity
android:name=
".function.setting.
AdminSetting
Activity"
<activity
android:name=
".function.setting.
SettingAdmin
Activity"
android:theme=
"@style/SettingTheme"
android:theme=
"@style/SettingTheme"
android:excludeFromRecents=
"true"
/>
android:excludeFromRecents=
"true"
/>
...
...
Launcher3/res/layout/activity_setting.xml
View file @
5896f532
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:fitsSystemWindows=
"true"
android:fitsSystemWindows=
"true"
android:orientation=
"vertical"
android:orientation=
"vertical"
tools:context=
"com.android.launcher3.function.setting.
AdminSetting
Activity"
>
tools:context=
"com.android.launcher3.function.setting.
SettingAdmin
Activity"
>
<TextView
<TextView
android:id=
"@+id/tv_setting_title"
android:id=
"@+id/tv_setting_title"
...
...
Launcher3/src/com/android/launcher3/Launcher.java
View file @
5896f532
...
@@ -153,6 +153,7 @@ import com.android.launcher3.widget.WidgetAddFlowHandler;
...
@@ -153,6 +153,7 @@ import com.android.launcher3.widget.WidgetAddFlowHandler;
import
com.android.launcher3.widget.WidgetHostViewLoader
;
import
com.android.launcher3.widget.WidgetHostViewLoader
;
import
com.android.launcher3.widget.WidgetsContainerView
;
import
com.android.launcher3.widget.WidgetsContainerView
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.secspace.lib.common.dialog.other.DialogUIUtils
;
import
com.secspace.lib.common.event.ChangeWallPaperEvent
;
import
com.secspace.lib.common.event.ChangeWallPaperEvent
;
import
com.secspace.lib.common.event.InitEvent
;
import
com.secspace.lib.common.event.InitEvent
;
import
com.secspace.lib.common.event.RefreshWorkSpaceEvent
;
import
com.secspace.lib.common.event.RefreshWorkSpaceEvent
;
...
@@ -1211,12 +1212,6 @@ public class Launcher extends BaseActivity
...
@@ -1211,12 +1212,6 @@ public class Launcher extends BaseActivity
}
}
private
void
activationNext
()
{
private
void
activationNext
()
{
String
pwd
=
Prefs
.
getLoginPwd
(
this
);
if
(
TextUtils
.
isEmpty
(
pwd
))
{
Intent
intent
=
new
Intent
(
this
,
PwdPinSetPwdActivity
.
class
);
startActivity
(
intent
);
return
;
}
LauncherAppState
app
=
LauncherAppState
.
getInstanceNoCreate
();
LauncherAppState
app
=
LauncherAppState
.
getInstanceNoCreate
();
if
(
app
!=
null
)
{
if
(
app
!=
null
)
{
app
.
getModel
().
forceReload
();
app
.
getModel
().
forceReload
();
...
@@ -3121,7 +3116,7 @@ public class Launcher extends BaseActivity
...
@@ -3121,7 +3116,7 @@ public class Launcher extends BaseActivity
if
(
TextUtils
.
equals
(((
EditText
)
view
).
getText
().
toString
(),
Prefs
.
getLoginPwd
(
mAppContext
)))
{
if
(
TextUtils
.
equals
(((
EditText
)
view
).
getText
().
toString
(),
Prefs
.
getLoginPwd
(
mAppContext
)))
{
IntentUtil
.
startExitService
(
mAppContext
);
IntentUtil
.
startExitService
(
mAppContext
);
}
else
{
}
else
{
ToastUtil
.
showLong
(
mAppContext
,
"密码错误!
"
);
DialogUIUtils
.
showToastCenter
(
"密码错误
"
);
ErrorTimeHelper
.
getInstance
(
mAppContext
).
addErrorCount
();
ErrorTimeHelper
.
getInstance
(
mAppContext
).
addErrorCount
();
}
}
}
}
...
...
Launcher3/src/com/android/launcher3/ManagerAuthActivity.java
View file @
5896f532
...
@@ -9,8 +9,9 @@ import android.text.TextUtils;
...
@@ -9,8 +9,9 @@ import android.text.TextUtils;
import
android.view.View
;
import
android.view.View
;
import
android.widget.EditText
;
import
android.widget.EditText
;
import
com.android.launcher3.function.setting.
AdminSetting
Activity
;
import
com.android.launcher3.function.setting.
SettingAdmin
Activity
;
import
com.android.launcher3.settings.ErrorTimeHelper
;
import
com.android.launcher3.settings.ErrorTimeHelper
;
import
com.secspace.lib.common.dialog.other.DialogUIUtils
;
import
com.secspace.lib.common.function.DialogManager
;
import
com.secspace.lib.common.function.DialogManager
;
import
com.secspace.lib.common.utils.InputUtil
;
import
com.secspace.lib.common.utils.InputUtil
;
import
com.secspace.lib.common.utils.Prefs
;
import
com.secspace.lib.common.utils.Prefs
;
...
@@ -37,14 +38,13 @@ public class ManagerAuthActivity extends BaseActivity {
...
@@ -37,14 +38,13 @@ public class ManagerAuthActivity extends BaseActivity {
boolean
canInputPwd
=
ErrorTimeHelper
.
getInstance
(
mAppContext
).
canInputPwd
();
boolean
canInputPwd
=
ErrorTimeHelper
.
getInstance
(
mAppContext
).
canInputPwd
();
if
(
canInputPwd
){
if
(
canInputPwd
){
if
(
TextUtils
.
equals
(
editText
.
getText
().
toString
(),
Prefs
.
getLoginPwd
(
mAppContext
)))
{
if
(
TextUtils
.
equals
(
editText
.
getText
().
toString
(),
Prefs
.
getLoginPwd
(
mAppContext
)))
{
ToastUtil
.
showLong
(
mAppContext
,
"密码正确!"
);
finish
();
finish
();
ErrorTimeHelper
.
getInstance
(
mAppContext
).
resetLockTimeAndCount
();
ErrorTimeHelper
.
getInstance
(
mAppContext
).
resetLockTimeAndCount
();
Intent
intent
=
new
Intent
();
Intent
intent
=
new
Intent
();
intent
.
setClass
(
mAppContext
,
AdminSetting
Activity
.
class
);
intent
.
setClass
(
mAppContext
,
SettingAdmin
Activity
.
class
);
startActivity
(
intent
);
startActivity
(
intent
);
}
else
{
}
else
{
ToastUtil
.
showLong
(
mAppContext
,
"密码错误!
"
);
DialogUIUtils
.
showToastCenter
(
"密码错误
"
);
ErrorTimeHelper
.
getInstance
(
mAppContext
).
addErrorCount
();
ErrorTimeHelper
.
getInstance
(
mAppContext
).
addErrorCount
();
finish
();
finish
();
}
}
...
...
Launcher3/src/com/android/launcher3/Workspace.java
View file @
5896f532
This diff is collapsed.
Click to expand it.
Launcher3/src/com/android/launcher3/function/setting/
AdminSetting
Activity.kt
→
Launcher3/src/com/android/launcher3/function/setting/
SettingAdmin
Activity.kt
View file @
5896f532
...
@@ -27,7 +27,7 @@ import kotlinx.coroutines.delay
...
@@ -27,7 +27,7 @@ import kotlinx.coroutines.delay
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
import
org.greenrobot.eventbus.EventBus
import
org.greenrobot.eventbus.EventBus
class
AdminSetting
Activity
:
BaseActivity
()
{
class
SettingAdmin
Activity
:
BaseActivity
()
{
private
var
mContext
:
Context
?
=
null
private
var
mContext
:
Context
?
=
null
private
var
icon
:
QMUICommonListItemView
?
=
null
private
var
icon
:
QMUICommonListItemView
?
=
null
private
var
reinforce
:
QMUICommonListItemView
?
=
null
private
var
reinforce
:
QMUICommonListItemView
?
=
null
...
...
Launcher3/src/com/android/launcher3/function/setting/SettingPwdActivity.kt
View file @
5896f532
package
com.android.launcher3.function.setting
package
com.android.launcher3.function.setting
import
android.app.Activity
import
android.app.AlertDialog
import
android.content.Context
import
android.content.Context
import
android.content.Intent
import
android.content.Intent
import
android.os.Bundle
import
android.os.Bundle
import
android.util.Log
import
android.view.LayoutInflater
import
android.view.View
import
android.view.View
import
android.widget.GridLayout
import
android.widget.GridLayout
import
android.widget.LinearLayout
import
android.widget.TextView
import
com.android.launcher3.BaseActivity
import
com.android.launcher3.BaseActivity
import
com.android.launcher3.R
import
com.android.launcher3.R
import
com.android.launcher3.mdm.DisableCompat
import
com.android.launcher3.mdm.DisableCompat
import
com.android.launcher3.settings.Contants
import
com.android.launcher3.settings.Contants
import
com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView
import
com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView
import
com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
import
com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
import
com.secspace.lib.common.dialog.SwitcherDialog
import
com.secspace.lib.common.event.ChangeWallPaperEvent
import
com.secspace.lib.common.utils.PkgManager
import
com.secspace.lib.common.utils.PkgManager
import
com.secspace.lib.common.utils.Prefs
import
com.secspace.lib.common.utils.Prefs
import
com.secspace.lib.common.utils.ToastUtil
import
com.secspace.lib.common.utils.ToastUtil
import
com.secspace.lib.common.utils.UninstallUtil.removeForbidden
import
com.secspace.lib.common.utils.UninstallUtil.uninstallService
import
com.secspace.lib.common.utils.dp2px
import
com.secspace.lib.common.utils.dp2px
import
kotlinx.android.synthetic.main.activity_setting.*
import
kotlinx.android.synthetic.main.activity_setting.*
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.GlobalScope
import
kotlinx.coroutines.delay
import
kotlinx.coroutines.launch
import
org.greenrobot.eventbus.EventBus
class
SettingPwdActivity
:
BaseActivity
(){
class
SettingPwdActivity
:
BaseActivity
(){
private
var
mContext
:
Context
?
=
null
private
var
mContext
:
Context
?
=
null
...
@@ -85,60 +70,4 @@ class SettingPwdActivity : BaseActivity(){
...
@@ -85,60 +70,4 @@ class SettingPwdActivity : BaseActivity(){
DisableCompat
.
disableApplication
(
mContext
,
packageName
)
DisableCompat
.
disableApplication
(
mContext
,
packageName
)
}
}
}
}
private
fun
uninstall
()
{
GlobalScope
.
launch
(
Dispatchers
.
Main
)
{
SwitcherDialog
.
getInstance
(
mContext
).
show
(
getString
(
R
.
string
.
edu_uninstall
),
"unInstall"
)
removeForbidden
(
mContext
)
delay
(
1000
)
uninstallService
(
mContext
)
delay
(
800
)
SwitcherDialog
.
getInstance
(
mContext
).
dismiss
(
"unInstall"
)
}
}
override
fun
onActivityResult
(
requestCode
:
Int
,
resultCode
:
Int
,
data
:
Intent
?)
{
if
(
requestCode
==
REQUEST_PICK_WALLPAPER
)
{
if
(
resultCode
==
Activity
.
RESULT_OK
)
{
Log
.
e
(
"WWWW"
,
"AAAAA"
)
val
selectedImage
=
data
!!
.
data
EventBus
.
getDefault
().
postSticky
(
ChangeWallPaperEvent
(
selectedImage
))
ToastUtil
.
showShort
(
this
,
"壁纸修改成功"
)
}
}
}
private
inline
fun
showTipDialog
(
crossinline
block
:
()
->
Unit
,
text
:
String
)
{
val
alertDialog
:
AlertDialog
val
textView
=
TextView
(
this
)
val
view
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
item_ll
,
null
)
textView
.
text
=
text
val
ll
=
view
.
findViewById
<
LinearLayout
>(
R
.
id
.
item_ll
)
ll
.
addView
(
textView
)
alertDialog
=
AlertDialog
.
Builder
(
this
)
.
setTitle
(
getString
(
R
.
string
.
tip
))
.
setCancelable
(
false
)
.
setView
(
view
)
.
setNegativeButton
(
R
.
string
.
work_cancel
)
{
dialog
,
_
->
dialog
.
dismiss
()
}
.
setPositiveButton
(
R
.
string
.
work_sure
)
{
dialog
,
_
->
run
{
dialog
.
dismiss
()
block
()
}
}
.
create
()
if
(!
alertDialog
.
isShowing
)
{
alertDialog
.
show
()
}
}
companion
object
{
private
const
val
REQUEST_PICK_WALLPAPER
=
10
private
const
val
ACTION_CHANGE_WALLPAPER
=
"action_change_wallpaper"
//允许添加先安装应用
const
val
ALLOW_NEW_APP
=
0
//允许本身自启
const
val
AUTO_START_SELF
=
1
}
}
}
\ No newline at end of file
Launcher3/src/com/android/launcher3/settings/BlankActivity.java
View file @
5896f532
package
com
.
android
.
launcher3
.
settings
;
package
com
.
android
.
launcher3
.
settings
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.text.TextUtils
;
import
com.android.launcher3.function.pwd.PwdPinSetPwdActivity
;
import
com.secspace.lib.common.base.BaseActivity
;
import
com.secspace.lib.common.base.BaseActivity
;
import
com.secspace.lib.common.function.DialogManager
;
import
com.secspace.lib.common.function.DialogManager
;
import
com.secspace.lib.common.utils.IntentUtil
;
import
com.secspace.lib.common.utils.IntentUtil
;
...
@@ -26,6 +28,12 @@ public class BlankActivity extends BaseActivity {
...
@@ -26,6 +28,12 @@ public class BlankActivity extends BaseActivity {
DialogManager
.
INSTANCE
.
showPrivacyPolicyDialog
(
this
);
DialogManager
.
INSTANCE
.
showPrivacyPolicyDialog
(
this
);
return
;
return
;
}
}
String
pwd
=
Prefs
.
getLoginPwd
(
this
);
if
(
TextUtils
.
isEmpty
(
pwd
))
{
Intent
intent
=
new
Intent
(
this
,
PwdPinSetPwdActivity
.
class
);
startActivity
(
intent
);
return
;
}
IntentUtil
.
startEduLauncher
(
this
);
IntentUtil
.
startEduLauncher
(
this
);
}
}
...
...
lib_common/src/main/java/com/secspace/lib/common/function/ActivationHelper.kt
View file @
5896f532
...
@@ -96,7 +96,7 @@ object ActivationHelper {
...
@@ -96,7 +96,7 @@ object ActivationHelper {
return
File
(
FILE_PATH
+
context
.
packageName
,
PROBATION_FILE_NAME
).
exists
()
return
File
(
FILE_PATH
+
context
.
packageName
,
PROBATION_FILE_NAME
).
exists
()
}
}
private
suspend
fun
isProbationFromLocal
(
context
:
Context
):
Boolean
{
suspend
fun
isProbationFromLocal
(
context
:
Context
):
Boolean
{
return
withContext
(
Dispatchers
.
IO
)
{
return
withContext
(
Dispatchers
.
IO
)
{
val
file
=
File
(
FILE_PATH
+
context
.
packageName
,
PROBATION_FILE_NAME
)
val
file
=
File
(
FILE_PATH
+
context
.
packageName
,
PROBATION_FILE_NAME
)
if
(!
file
.
exists
())
{
if
(!
file
.
exists
())
{
...
...
lib_common/src/main/java/com/secspace/lib/common/function/BuyCodeDialog.kt
View file @
5896f532
...
@@ -11,10 +11,6 @@ import com.secspace.lib.common.R
...
@@ -11,10 +11,6 @@ import com.secspace.lib.common.R
import
com.secspace.lib.common.function.ActivationHelper.ActivationListener
import
com.secspace.lib.common.function.ActivationHelper.ActivationListener
import
com.secspace.lib.common.function.ActivationHelper.active
import
com.secspace.lib.common.function.ActivationHelper.active
import
com.secspace.lib.common.utils.IntentUtil
import
com.secspace.lib.common.utils.IntentUtil
import
com.secspace.lib.common.utils.Prefs
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.GlobalScope
import
kotlinx.coroutines.launch
class
BuyCodeDialog
(
activity
:
Activity
)
:
DialogInterface
.
OnDismissListener
,
View
.
OnClickListener
{
class
BuyCodeDialog
(
activity
:
Activity
)
:
DialogInterface
.
OnDismissListener
,
View
.
OnClickListener
{
private
var
mActivity
:
Activity
?
private
var
mActivity
:
Activity
?
...
@@ -64,10 +60,7 @@ class BuyCodeDialog(activity: Activity) : DialogInterface.OnDismissListener, Vie
...
@@ -64,10 +60,7 @@ class BuyCodeDialog(activity: Activity) : DialogInterface.OnDismissListener, Vie
}
}
},
true
)
},
true
)
dismiss
()
dismiss
()
Prefs
.
setMdmInitializedWhenEnter
(
mContext
,
false
)
WorkManager
.
removeForbidden
(
mContext
)
GlobalScope
.
launch
(
Dispatchers
.
IO
)
{
SwitchOutMdm
.
onInit
(
mContext
)
}
}
}
}
}
...
...
lib_common/src/main/java/com/secspace/lib/common/function/DialogManager.kt
View file @
5896f532
...
@@ -94,6 +94,18 @@ object DialogManager{
...
@@ -94,6 +94,18 @@ object DialogManager{
}).
show
()
}).
show
()
}
}
fun
showActivateLoseDialog
(
activity
:
Activity
?,
title
:
String
?,
content
:
String
?,
listener
:
MessageListener
)
{
DialogUIUtils
.
showAlert
(
activity
,
title
,
content
,
""
,
""
,
"确定"
,
"输入激活码"
,
false
,
false
,
false
,
object
:
DialogUIListener
()
{
override
fun
onPositive
()
{
listener
.
onPositive
()
}
override
fun
onNegative
()
{
listener
.
onNegative
()
}
}).
show
()
}
fun
showMessageDialogBySure
(
activity
:
Activity
?,
title
:
String
?,
content
:
String
?,
listener
:
MessageListener
)
{
fun
showMessageDialogBySure
(
activity
:
Activity
?,
title
:
String
?,
content
:
String
?,
listener
:
MessageListener
)
{
DialogUIUtils
.
showAlert
(
activity
,
title
,
content
,
""
,
""
,
"确定"
,
""
,
false
,
false
,
false
,
object
:
DialogUIListener
()
{
DialogUIUtils
.
showAlert
(
activity
,
title
,
content
,
""
,
""
,
"确定"
,
""
,
false
,
false
,
false
,
object
:
DialogUIListener
()
{
override
fun
onPositive
()
{
override
fun
onPositive
()
{
...
...
lib_common/src/main/java/com/secspace/lib/common/function/PrivacyPolicyDialog.java
View file @
5896f532
...
@@ -176,7 +176,11 @@ public class PrivacyPolicyDialog implements DialogInterface.OnDismissListener, V
...
@@ -176,7 +176,11 @@ public class PrivacyPolicyDialog implements DialogInterface.OnDismissListener, V
mActivity
.
finish
();
mActivity
.
finish
();
}
else
if
(
v
.
getId
()
==
R
.
id
.
btn_accept
)
{
}
else
if
(
v
.
getId
()
==
R
.
id
.
btn_accept
)
{
Prefs
.
setPrivacyPolicyState
(
mActivity
,
true
);
Prefs
.
setPrivacyPolicyState
(
mActivity
,
true
);
IntentUtil
.
startEduLauncher
(
mActivity
);
try
{
mActivity
.
startActivity
(
new
Intent
(
mActivity
,
Class
.
forName
(
"com.android.launcher3.settings.BlankActivity"
)));
}
catch
(
ClassNotFoundException
e
)
{
e
.
printStackTrace
();
}
dismiss
();
dismiss
();
mActivity
.
finish
();
mActivity
.
finish
();
}
}
...
...
lib_common/src/main/java/com/secspace/lib/common/function/WorkManager.kt
View file @
5896f532
...
@@ -19,7 +19,7 @@ import kotlinx.coroutines.GlobalScope
...
@@ -19,7 +19,7 @@ import kotlinx.coroutines.GlobalScope
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
import
java.io.File
import
java.io.File
object
WorkManager
{
object
WorkManager
{
private
val
TAG
=
"SecSpaceWorkManager"
private
val
TAG
=
"SecSpaceWorkManager"
private
lateinit
var
mContext
:
Context
private
lateinit
var
mContext
:
Context
private
val
mHandler
:
Handler
=
Handler
(
Looper
.
getMainLooper
(),
Handler
.
Callback
{
true
})
private
val
mHandler
:
Handler
=
Handler
(
Looper
.
getMainLooper
(),
Handler
.
Callback
{
true
})
...
@@ -50,7 +50,7 @@ object WorkManager{
...
@@ -50,7 +50,7 @@ object WorkManager{
//安装耗时,检查是否都是最新的
//安装耗时,检查是否都是最新的
if
(!
DpmHelper
.
getInstance
(
mContext
).
isMiddlewareLatest
)
{
if
(!
DpmHelper
.
getInstance
(
mContext
).
isMiddlewareLatest
)
{
Log
.
i
(
TAG
,
"will install delay"
)
Log
.
i
(
TAG
,
"will install delay"
)
mHandler
.
postDelayed
(
{
enter
(
launcher
)
},
2000
)
mHandler
.
postDelayed
({
enter
(
launcher
)
},
2000
)
return
return
}
}
LoadingDialog
.
getInstance
(
launcher
).
show
(
"切换中"
)
LoadingDialog
.
getInstance
(
launcher
).
show
(
"切换中"
)
...
@@ -63,7 +63,7 @@ object WorkManager{
...
@@ -63,7 +63,7 @@ object WorkManager{
Prefs
.
setMdmInitializedWhenEnter
(
mContext
,
true
)
Prefs
.
setMdmInitializedWhenEnter
(
mContext
,
true
)
}
}
fun
exit
(
context
:
Context
?){
fun
exit
(
context
:
Context
?)
{
GlobalScope
.
launch
(
Dispatchers
.
IO
)
{
GlobalScope
.
launch
(
Dispatchers
.
IO
)
{
context
?.
let
{
SwitchOutMdm
.
onExit
(
it
)
}
context
?.
let
{
SwitchOutMdm
.
onExit
(
it
)
}
}
}
...
@@ -140,18 +140,43 @@ object WorkManager{
...
@@ -140,18 +140,43 @@ object WorkManager{
install
(
path
)
install
(
path
)
}
}
fun
removeForbidden
(
context
:
Context
){
Prefs
.
setMdmInitializedWhenEnter
(
context
,
false
)
GlobalScope
.
launch
(
Dispatchers
.
IO
)
{
SwitchOutMdm
.
onInit
(
context
)
UninstallUtil
.
removeForbidden
(
context
)
}
}
internal
class
EduCheckActiveStatusListener
(
var
activity
:
Activity
)
:
CheckActiveStatusListener
{
internal
class
EduCheckActiveStatusListener
(
var
activity
:
Activity
)
:
CheckActiveStatusListener
{
override
fun
needActivate
()
{
override
fun
needActivate
()
{
Log
.
i
(
TAG
,
"activedFailed: "
)
Log
.
i
(
TAG
,
"activedFailed: "
)
DialogManager
.
showMessageDialogBySure
(
activity
,
activity
.
getString
(
R
.
string
.
common_remind
),
activity
.
getString
(
R
.
string
.
dialog_tip_activate_lose
),
object
:
DialogManager
.
MessageListener
{
GlobalScope
.
launch
(
Dispatchers
.
Main
)
{
override
fun
onPositive
()
{
val
isActivateLocal
=
ActivationHelper
.
isProbationFromLocal
(
activity
)
IntentUtil
.
startExitService
(
activity
)
if
(
isActivateLocal
)
{
return
@launch
}
}
DialogManager
.
showActivateLoseDialog
(
activity
,
activity
.
getString
(
R
.
string
.
common_remind
),
activity
.
getString
(
R
.
string
.
dialog_tip_activate_lose
),
object
:
DialogManager
.
MessageListener
{
override
fun
onNegative
()
{
override
fun
onPositive
()
{
IntentUtil
.
startExitService
(
activity
)
}
removeForbidden
(
activity
)
})
}
override
fun
onNegative
()
{
ActivationHelper
.
active
(
activity
,
object
:
ActivationHelper
.
ActivationListener
{
override
fun
activated
()
{
IntentUtil
.
startEduLauncher
(
activity
)
}
override
fun
activationFailed
()
{
IntentUtil
.
startExitService
(
activity
)
removeForbidden
(
activity
)
}
},
true
)
removeForbidden
(
activity
)
}
})
}
}
}
override
fun
trialCodeWillPastDue
()
{
override
fun
trialCodeWillPastDue
()
{
...
...
lib_common/src/main/res/layout/dialogui_holder_alert.xml
View file @
5896f532
...
@@ -92,15 +92,16 @@
...
@@ -92,15 +92,16 @@
android:orientation=
"horizontal"
>
android:orientation=
"horizontal"
>
<Button
<Button
android:id=
"@+id/btn_
1
"
android:id=
"@+id/btn_
2
"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_gravity=
"center"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:background=
"@drawable/dialogui_selector_
left_bottom
"
android:background=
"@drawable/dialogui_selector_
all_no
"
android:gravity=
"center"
android:gravity=
"center"
android:minHeight=
"48dp"
android:padding=
"5dp"
android:padding=
"5dp"
android:text=
"
1
"
android:text=
"
2
"
android:textColor=
"@color/ios_btntext_blue"
android:textColor=
"@color/ios_btntext_blue"
android:textSize=
"@dimen/dialogui_btn_txt_size"
/>
android:textSize=
"@dimen/dialogui_btn_txt_size"
/>
...
@@ -111,19 +112,20 @@
...
@@ -111,19 +112,20 @@
android:background=
"@color/line_dd"
/>
android:background=
"@color/line_dd"
/>
<Button
<Button
android:id=
"@+id/btn_
2
"
android:id=
"@+id/btn_
1
"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_gravity=
"center"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:background=
"@drawable/dialogui_selector_
all_no
"
android:background=
"@drawable/dialogui_selector_
left_bottom
"
android:gravity=
"center"
android:gravity=
"center"
android:minHeight=
"48dp"
android:padding=
"5dp"
android:padding=
"5dp"
android:text=
"
2
"
android:text=
"
1
"
android:textColor=
"@color/ios_btntext_blue"
android:textColor=
"@color/ios_btntext_blue"
android:textSize=
"@dimen/dialogui_btn_txt_size"
/>
android:textSize=
"@dimen/dialogui_btn_txt_size"
/>
<View
<View
android:id=
"@+id/line_btn3"
android:id=
"@+id/line_btn3"
android:layout_width=
"1px"
android:layout_width=
"1px"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment