private void doUpdate() { AppLockApplication appLockApplication = AppLockApplication.getInstance(); if (System.currentTimeMillis() - SharedPreferenceUtil.readUpdateTipTime() >= 1000 * 60 * 60 * 20 && appLockApplication.hasNewVersion()) { downLoadFileUrl = appLockApplication.getUpdateVersionUrl(); showUpdateDialog(appLockApplication.getUpdateVersionIntro()); SharedPreferenceUtil.editUpdateTipTime(System.currentTimeMillis()); } }
void checkVersion() { AppLockApplication appLockApplication = AppLockApplication.getInstance(); if (appLockApplication.hasNewVersion()) { downLoadFileUrl = appLockApplication.getUpdateVersionUrl(); showUpdateDialog(appLockApplication.getUpdateVersionIntro()); } else { ToastUtils.showToast(R.string.no_new_version); } }
@Override protected void onStop() { cameraFuncation.clearCamera(); appLockApplication.setLastAppEnterPwdState( bPwdIsCorrent, new Date().getTime(), errorCount, lastDelayTime); if (!unGoHome) { AppLockApplication.getInstance().goHome(this); } super.onStop(); }
@Override protected void onResume() { super.onResume(); // 保险箱数据初始化 mainAdapter.resetSafeBox(); if (AppLockApplication.getInstance().isNeedSetSecret()) { startActivity(new Intent(this, SecretConfig.class)); AppLockApplication.getInstance().setStartGuide(false); } sysFeedback(); }
/** 反馈意见收到条目数 */ private void sysFeedback() { AppLockApplication appLockApplication = AppLockApplication.getInstance(); txt_drawer_version_num.setText( getString(R.string.version_now) + appLockApplication.getApplicationVersion()); setReplySize(appLockApplication.getReplySize()); mAgent = new FeedbackAgent(this); mComversation = mAgent.getDefaultConversation(); sync(); }
@Override public void onClickEvent(View view) { switch (view.getId()) { case R.id.btn_more: btnClickMore(); break; case R.id.btn_user_model: AppLockApplication.getInstance().setVisitorState(true); finish(); break; case R.id.gesturepwd_unlock_forget: unGoHome = true; Intent intent = new Intent(this, SecretCheckActivity.class); startActivity(intent); closePopView(); break; case R.id.btn_user_check: boolean flag = SharedPreferenceUtil.readUnlockUserByEnter(); SharedPreferenceUtil.editUnlockUserByEnter(!flag); if (SharedPreferenceUtil.readUnlockUserByEnter()) { iv_user_check.setImageResource(R.drawable.checkbox_select); } else { iv_user_check.setImageResource(R.drawable.checkbox_unselect); } break; default: break; } super.onClickEvent(view); }
@Override public void run() { numberDisable = true; long millsInFature = 0; if (bIsFalseStart) { bIsFalseStart = false; long defauleTime = new Date().getTime() - appLockApplication.getLastAppEnterPwdLeaverDateMiliseconds(); if (defauleTime < appLockApplication.getLastAppEnterPwdDelayTime() * 1000) { millsInFature = appLockApplication.getLastAppEnterPwdDelayTime() * 1000 - defauleTime; } } else { millsInFature = delayTime[errorCount] + 1; } LogUtil.e("colin", "attemptLockout处理:" + millsInFature); mCountdownTimer = new CountDownTimer(millsInFature, 1000) { @Override public void onTick(long millisUntilFinished) { int secondsRemaining = (int) (millisUntilFinished / 1000) - 1; lastDelayTime = secondsRemaining; if (secondsRemaining > 0) { String format = getResources().getString(R.string.password_time); String str = String.format(format, secondsRemaining); mHeadTextView.setText(str); } else { mHeadTextView.setText(R.string.num_create_text_01); mHeadTextView.setTextColor(Color.WHITE); } } @Override public void onFinish() { for (ImageView iv : pointList) { iv.setImageResource(R.drawable.num_point); } numberDisable = false; mFailedPatternAttemptsSinceLastTimeout = 0; errorCount += 1; if (errorCount > 4) { errorCount = 0; } } }.start(); }
@Override protected void onDestroy() { super.onDestroy(); cameraFuncation.clearCamera(); appLockApplication.setLastAppEnterPwdState( bPwdIsCorrent, new Date().getTime(), errorCount, lastDelayTime); if (mCountdownTimer != null) mCountdownTimer.cancel(); }
private void updateLockStatus() { AppLockApplication appLockApplication = AppLockApplication.getInstance(); if (appLockApplication.appLockState) { tv_lock_status.setText(R.string.server_startlock_detail); drawer_logo.setImageResource(R.drawable.slide_logo); } else { tv_lock_status.setText(R.string.server_unlock_detail); drawer_logo.setImageResource(R.drawable.slide_logo_un); } }
public void setHideAppIcon() { PackageManager packageManager = getPackageManager(); ComponentName componentName = new ComponentName(AppSettingActivity.this, SplashActivity.class); int res = packageManager.getComponentEnabledSetting(componentName); if (res == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || res == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { // 隐藏应用图标 packageManager.setComponentEnabledSetting( componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); appLockApplication.appIconIsHided = true; LogUtil.e("colin", "隐藏应用图标"); } else { // 显示应用图标 packageManager.setComponentEnabledSetting( componentName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP); appLockApplication.appIconIsHided = false; LogUtil.e("colin", "显示应用图标"); } }
public class NumberCheckActivity extends BaseActivity { public static final String CHANGE_PASSWORD = "******"; private TextView mHeadTextView; private Animation mShakeAnim; private Handler mHandler = new Handler(); private boolean changeFlag; private boolean numberDisable = false; private CountDownTimer mCountdownTimer = null; private int mFailedPatternAttemptsSinceLastTimeout = 0; private ImageView iv_user_check; private int[] delayTime = {60000, 120000, 180000, 600000, 1800000}; private int errorCount = 0; private boolean bPwdIsCorrent = true; private boolean bIsFalseStart = false; private int lastDelayTime = 0; private AppLockApplication appLockApplication = AppLockApplication.getInstance(); private CameraFuncation cameraFuncation; private SurfaceView surfaceView; private LookMyPrivateService pService; private PlayWarringSoundService playWarringSoundService; private View popView; private ActionView actionView; private ScaleAnimation pop_in; private ScaleAnimation pop_out; @Override protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_num_check); pService = new LookMyPrivateService(getApplicationContext()); playWarringSoundService = new PlayWarringSoundService(getApplicationContext()); surfaceView = (SurfaceView) findViewById(R.id.picSurfaceView); cameraFuncation = new CameraFuncation(getApplicationContext(), surfaceView, pService); mHeadTextView = (TextView) findViewById(R.id.tv_text); mShakeAnim = AnimationUtils.loadAnimation(this, R.anim.shake_x); iv_user_check = (ImageView) findViewById(R.id.iv_user_check); initNumLayout(); changeFlag = getIntent().getBooleanExtra(CHANGE_PASSWORD, false); unGoHome = changeFlag; VisitorModelService visitorModelService = new VisitorModelService(getApplicationContext()); if (changeFlag || !visitorModelService.hasLockedPackage()) { findViewById(R.id.btn_user_model).setVisibility(View.INVISIBLE); } else if (AppLockApplication.getInstance().getVisitorState()) { findViewById(R.id.btn_user_check).setVisibility(View.VISIBLE); if (SharedPreferenceUtil.readUnlockUserByEnter()) { iv_user_check.setImageResource(R.drawable.checkbox_select); } else { iv_user_check.setImageResource(R.drawable.checkbox_unselect); } } bPwdIsCorrent = appLockApplication.getLastAppEnterCorrentPwd(); errorCount = appLockApplication.getLastAppEnterPwdErrorCount(); if (!bPwdIsCorrent) { bIsFalseStart = true; long defauleTime = new Date().getTime() - appLockApplication.getLastAppEnterPwdLeaverDateMiliseconds(); LogUtil.e( "colin", "上次解锁密码错误,到现在的时间为:" + defauleTime + "上次时间为:" + appLockApplication.getLastAppEnterPwdDelayTime()); if (defauleTime < appLockApplication.getLastAppEnterPwdDelayTime() * 1000) { LogUtil.e("colin", "上次解锁密码错误,时间孙艳"); mHandler.postDelayed(attemptLockout, 100); } else { LogUtil.e("colin", "上次解锁密码错误,时间不孙艳"); bIsFalseStart = false; errorCount += 1; if (errorCount > 4) { errorCount = 0; } appLockApplication.setLastAppEnterPwdErrorCount(errorCount); } } // pop popView = findViewById(R.id.layout_pop); actionView = (ActionView) findViewById(R.id.btn_more); initAnim(); String secretQuestion = AppLockApplication.getInstance().getSecretQuestionString(); if (!TextUtils.isEmpty(secretQuestion)) { actionView.setVisibility(View.VISIBLE); } else { actionView.setVisibility(View.INVISIBLE); } super.onCreate(savedInstanceState); } private void closePopView() { if (View.VISIBLE == popView.getVisibility()) { actionView.setAction(new MoreAction(), ActionView.ROTATE_COUNTER_CLOCKWISE); popView.clearAnimation(); popView.startAnimation(pop_out); } } private void initAnim() { long durationS = 160; AccelerateInterpolator accInterpolator = new AccelerateInterpolator(); pop_in = new ScaleAnimation( 0, 1, 0, 1, Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 0); pop_out = new ScaleAnimation( 1, 0, 1, 0, Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 0); pop_in.setDuration(durationS); pop_in.setInterpolator(accInterpolator); pop_in.setAnimationListener(new PopListener(popView, PopListener.TYPE_IN)); pop_out.setDuration(durationS); pop_out.setInterpolator(accInterpolator); pop_out.setAnimationListener(new PopListener(popView, PopListener.TYPE_OUT)); } private void btnClickMore() { if (View.VISIBLE == popView.getVisibility()) { actionView.setAction(new MoreAction(), ActionView.ROTATE_COUNTER_CLOCKWISE); popView.clearAnimation(); popView.startAnimation(pop_out); } else { actionView.setAction(new CloseAction(), ActionView.ROTATE_COUNTER_CLOCKWISE); popView.clearAnimation(); popView.startAnimation(pop_in); } } @Override protected void onDestroy() { super.onDestroy(); cameraFuncation.clearCamera(); appLockApplication.setLastAppEnterPwdState( bPwdIsCorrent, new Date().getTime(), errorCount, lastDelayTime); if (mCountdownTimer != null) mCountdownTimer.cancel(); } @Override protected void onResume() { super.onResume(); } @Override public void onClickEvent(View view) { switch (view.getId()) { case R.id.btn_more: btnClickMore(); break; case R.id.btn_user_model: AppLockApplication.getInstance().setVisitorState(true); finish(); break; case R.id.gesturepwd_unlock_forget: unGoHome = true; Intent intent = new Intent(this, SecretCheckActivity.class); startActivity(intent); closePopView(); break; case R.id.btn_user_check: boolean flag = SharedPreferenceUtil.readUnlockUserByEnter(); SharedPreferenceUtil.editUnlockUserByEnter(!flag); if (SharedPreferenceUtil.readUnlockUserByEnter()) { iv_user_check.setImageResource(R.drawable.checkbox_select); } else { iv_user_check.setImageResource(R.drawable.checkbox_unselect); } break; default: break; } super.onClickEvent(view); } boolean unGoHome = false; @Override protected void onStop() { cameraFuncation.clearCamera(); appLockApplication.setLastAppEnterPwdState( bPwdIsCorrent, new Date().getTime(), errorCount, lastDelayTime); if (!unGoHome) { AppLockApplication.getInstance().goHome(this); } super.onStop(); } private static final int COUNT = 4; private List<String> numInput; private List<ImageView> pointList; private void initNumLayout() { numInput = new ArrayList<String>(); pointList = new ArrayList<ImageView>(COUNT); pointList.add((ImageView) findViewById(R.id.num_point_1)); pointList.add((ImageView) findViewById(R.id.num_point_2)); pointList.add((ImageView) findViewById(R.id.num_point_3)); pointList.add((ImageView) findViewById(R.id.num_point_4)); for (ImageView iv : pointList) { iv.setImageResource(R.drawable.num_point); } } public void onNumClick(View view) { if (numberDisable) { return; } switch (view.getId()) { case R.id.number_1: case R.id.number_2: case R.id.number_3: case R.id.number_4: case R.id.number_5: case R.id.number_6: case R.id.number_7: case R.id.number_8: case R.id.number_9: case R.id.number_0: clickNumber((Button) view); break; case R.id.number_del: deleteNumber(); break; default: break; } super.onClickEvent(view); } private void clickNumber(Button btn) { if (numInput.size() < COUNT) { numInput.add(btn.getText().toString()); } int index = 0; for (ImageView iv : pointList) { if (index++ < numInput.size()) { iv.setImageResource(R.drawable.num_point_check); } else { iv.setImageResource(R.drawable.num_point); } } StringBuffer pBuffer = new StringBuffer(); for (String s : numInput) { pBuffer.append(s); } doForResult(inputCheck(pBuffer.toString())); } enum InputResult { SUCCESS, ERROR, CONTINUE } private void doForResult(InputResult result) { switch (result) { case CONTINUE: break; case SUCCESS: unGoHome = true; bPwdIsCorrent = true; if (changeFlag) { Intent intent = new Intent(NumberCheckActivity.this, NumberCreateActivity.class); intent.putExtra(GestureCreateActivity.CHANGE_FLAG, true); startActivity(intent); } else { if (AppLockApplication.getInstance().getVisitorState() && SharedPreferenceUtil.readUnlockUserByEnter()) { AppLockApplication.getInstance().setVisitorState(false); } Intent intent = new Intent(NumberCheckActivity.this, LockMainActivity.class); AppLockApplication.getInstance().setStartGuide(true); startActivity(intent); } finish(); break; case ERROR: bPwdIsCorrent = false; mFailedPatternAttemptsSinceLastTimeout++; int retry = LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT - mFailedPatternAttemptsSinceLastTimeout; if (retry >= 0) { if (retry == 0) ToastUtils.showToast( String.format( getResources().getString(R.string.password_error_wait), delayTime[errorCount] / 1000 / 60)); String format = getResources().getString(R.string.password_error_count); String str = String.format(format, retry); mHeadTextView.setText(str); mHeadTextView.setTextColor(getResources().getColor(R.color.text_red)); mHeadTextView.startAnimation(mShakeAnim); } if (mFailedPatternAttemptsSinceLastTimeout >= 3) { LookMyPrivate lookMyPrivate = new LookMyPrivate(); lookMyPrivate.setLookDate(new Date()); lookMyPrivate.setResolver("com.cleanwiz.applock"); long id = pService.addNewLookMyPrivate(lookMyPrivate); lookMyPrivate.setId(id); if (appLockApplication.getAutoRecordPic()) { if (cameraFuncation != null) { cameraFuncation.lookMyPrivate = lookMyPrivate; LogUtil.e("colin", "解锁失败,拍照来哦啦"); cameraFuncation.tackPicture(); } } // 播放声音 if (appLockApplication.getPlayWarringSoundState()) { playWarringSoundService.playSound(); } } if (mFailedPatternAttemptsSinceLastTimeout >= LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT) { mHandler.postDelayed(attemptLockout, 2000); } else { numberDisable = true; mHandler.postDelayed(clearPassword, 2000); } break; default: break; } } private InputResult inputCheck(String password) { InputResult result; LogUtil.d("demo3", "input:" + password); if (numInput.size() == COUNT) { numInput.clear(); String md5 = StringUtils.toMD5(password); if (md5.equals(SharedPreferenceUtil.readNumPassword())) { result = InputResult.SUCCESS; } else { result = InputResult.ERROR; } } else { result = InputResult.CONTINUE; } return result; } private void deleteNumber() { if (numInput.size() == 0) { return; } pointList.get(numInput.size() - 1).setImageResource(R.drawable.num_point); numInput.remove(numInput.size() - 1); } private Runnable clearPassword = new Runnable() { public void run() { for (ImageView iv : pointList) { iv.setImageResource(R.drawable.num_point); } numberDisable = false; } }; Runnable attemptLockout = new Runnable() { @Override public void run() { numberDisable = true; long millsInFature = 0; if (bIsFalseStart) { bIsFalseStart = false; long defauleTime = new Date().getTime() - appLockApplication.getLastAppEnterPwdLeaverDateMiliseconds(); if (defauleTime < appLockApplication.getLastAppEnterPwdDelayTime() * 1000) { millsInFature = appLockApplication.getLastAppEnterPwdDelayTime() * 1000 - defauleTime; } } else { millsInFature = delayTime[errorCount] + 1; } LogUtil.e("colin", "attemptLockout处理:" + millsInFature); mCountdownTimer = new CountDownTimer(millsInFature, 1000) { @Override public void onTick(long millisUntilFinished) { int secondsRemaining = (int) (millisUntilFinished / 1000) - 1; lastDelayTime = secondsRemaining; if (secondsRemaining > 0) { String format = getResources().getString(R.string.password_time); String str = String.format(format, secondsRemaining); mHeadTextView.setText(str); } else { mHeadTextView.setText(R.string.num_create_text_01); mHeadTextView.setTextColor(Color.WHITE); } } @Override public void onFinish() { for (ImageView iv : pointList) { iv.setImageResource(R.drawable.num_point); } numberDisable = false; mFailedPatternAttemptsSinceLastTimeout = 0; errorCount += 1; if (errorCount > 4) { errorCount = 0; } } }.start(); } }; }
@Override protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_num_check); pService = new LookMyPrivateService(getApplicationContext()); playWarringSoundService = new PlayWarringSoundService(getApplicationContext()); surfaceView = (SurfaceView) findViewById(R.id.picSurfaceView); cameraFuncation = new CameraFuncation(getApplicationContext(), surfaceView, pService); mHeadTextView = (TextView) findViewById(R.id.tv_text); mShakeAnim = AnimationUtils.loadAnimation(this, R.anim.shake_x); iv_user_check = (ImageView) findViewById(R.id.iv_user_check); initNumLayout(); changeFlag = getIntent().getBooleanExtra(CHANGE_PASSWORD, false); unGoHome = changeFlag; VisitorModelService visitorModelService = new VisitorModelService(getApplicationContext()); if (changeFlag || !visitorModelService.hasLockedPackage()) { findViewById(R.id.btn_user_model).setVisibility(View.INVISIBLE); } else if (AppLockApplication.getInstance().getVisitorState()) { findViewById(R.id.btn_user_check).setVisibility(View.VISIBLE); if (SharedPreferenceUtil.readUnlockUserByEnter()) { iv_user_check.setImageResource(R.drawable.checkbox_select); } else { iv_user_check.setImageResource(R.drawable.checkbox_unselect); } } bPwdIsCorrent = appLockApplication.getLastAppEnterCorrentPwd(); errorCount = appLockApplication.getLastAppEnterPwdErrorCount(); if (!bPwdIsCorrent) { bIsFalseStart = true; long defauleTime = new Date().getTime() - appLockApplication.getLastAppEnterPwdLeaverDateMiliseconds(); LogUtil.e( "colin", "上次解锁密码错误,到现在的时间为:" + defauleTime + "上次时间为:" + appLockApplication.getLastAppEnterPwdDelayTime()); if (defauleTime < appLockApplication.getLastAppEnterPwdDelayTime() * 1000) { LogUtil.e("colin", "上次解锁密码错误,时间孙艳"); mHandler.postDelayed(attemptLockout, 100); } else { LogUtil.e("colin", "上次解锁密码错误,时间不孙艳"); bIsFalseStart = false; errorCount += 1; if (errorCount > 4) { errorCount = 0; } appLockApplication.setLastAppEnterPwdErrorCount(errorCount); } } // pop popView = findViewById(R.id.layout_pop); actionView = (ActionView) findViewById(R.id.btn_more); initAnim(); String secretQuestion = AppLockApplication.getInstance().getSecretQuestionString(); if (!TextUtils.isEmpty(secretQuestion)) { actionView.setVisibility(View.VISIBLE); } else { actionView.setVisibility(View.INVISIBLE); } super.onCreate(savedInstanceState); }
@Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub SwitchButton switchButton = (SwitchButton) buttonView; LogUtil.e("colin", "switch is changed:" + switchButton.getId()); switch (switchButton.getId()) { case 2: // 启用加锁 { boolean bIsState = !switchButton.isChecked(); appLockApplication.setAppLockState(bIsState); break; } case 8: // 新应用加锁提示 { break; } case 9: // 允许短暂退出 { boolean bIsState = !switchButton.isChecked(); appLockApplication.setAllowedLeaveAment(bIsState); Intent intent = new Intent(LockService.LOCK_SERVICE_LEAVEAMENT); intent.putExtra(LockService.LOCK_SERVICE_LEAVEAMENT, bIsState); sendBroadcast(intent); LogUtil.d("demo3", "bIsState:" + bIsState); break; } case 11: // 锁锁图标的隐藏和显示 { setHideAppIcon(); break; } case 12: // 防卸载 { if (!switchButton.isChecked() && !devicePolicyManager.isAdminActive(componentName)) { enableDeviceManager(); } else if (switchButton.isChecked() && devicePolicyManager.isAdminActive(componentName)) { disableDeviceManager(); } break; } case 18: // 自动拍照 { appLockApplication.setAutoRecordPic(!switchButton.isChecked()); if (appLockApplication.getAutoRecordPic()) { WarringDialog warringDialog = new WarringDialog(); warringDialog.switchButton = switchButton; warringDialog.show(); } break; } case 19: // 播放告警声音 { appLockApplication.setPlayWarringSoundState(!switchButton.isChecked()); break; } default: break; } appSettingAdapter.notifyDataSetChanged(); }
private void doForResult(InputResult result) { switch (result) { case CONTINUE: break; case SUCCESS: unGoHome = true; bPwdIsCorrent = true; if (changeFlag) { Intent intent = new Intent(NumberCheckActivity.this, NumberCreateActivity.class); intent.putExtra(GestureCreateActivity.CHANGE_FLAG, true); startActivity(intent); } else { if (AppLockApplication.getInstance().getVisitorState() && SharedPreferenceUtil.readUnlockUserByEnter()) { AppLockApplication.getInstance().setVisitorState(false); } Intent intent = new Intent(NumberCheckActivity.this, LockMainActivity.class); AppLockApplication.getInstance().setStartGuide(true); startActivity(intent); } finish(); break; case ERROR: bPwdIsCorrent = false; mFailedPatternAttemptsSinceLastTimeout++; int retry = LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT - mFailedPatternAttemptsSinceLastTimeout; if (retry >= 0) { if (retry == 0) ToastUtils.showToast( String.format( getResources().getString(R.string.password_error_wait), delayTime[errorCount] / 1000 / 60)); String format = getResources().getString(R.string.password_error_count); String str = String.format(format, retry); mHeadTextView.setText(str); mHeadTextView.setTextColor(getResources().getColor(R.color.text_red)); mHeadTextView.startAnimation(mShakeAnim); } if (mFailedPatternAttemptsSinceLastTimeout >= 3) { LookMyPrivate lookMyPrivate = new LookMyPrivate(); lookMyPrivate.setLookDate(new Date()); lookMyPrivate.setResolver("com.cleanwiz.applock"); long id = pService.addNewLookMyPrivate(lookMyPrivate); lookMyPrivate.setId(id); if (appLockApplication.getAutoRecordPic()) { if (cameraFuncation != null) { cameraFuncation.lookMyPrivate = lookMyPrivate; LogUtil.e("colin", "解锁失败,拍照来哦啦"); cameraFuncation.tackPicture(); } } // 播放声音 if (appLockApplication.getPlayWarringSoundState()) { playWarringSoundService.playSound(); } } if (mFailedPatternAttemptsSinceLastTimeout >= LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT) { mHandler.postDelayed(attemptLockout, 2000); } else { numberDisable = true; mHandler.postDelayed(clearPassword, 2000); } break; default: break; } }
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_appsetting); context = this; devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); componentName = new ComponentName(this, DeviceMyReceiver.class); appLockApplication.appIconIsHided = getHideAppIcon(); appSettingListView = (ListView) findViewById(R.id.appsettinglistview); appSettingAdapter = new AppSettingAdapter(context, mCheckedChangeListener, appLockApplication); appSettingAdapter.setComponentName(componentName); appSettingAdapter.setDevicePolicyManager(devicePolicyManager); appSettingListView.setAdapter(appSettingAdapter); appSettingListView.setOnItemClickListener(itemClickListener); AppSettingItemInfo appSettingItemInfo = new AppSettingItemInfo( 1, 0, true, false, false, getString(R.string.server_title), "", "", ""); AppSettingItemInfo appSettingItemInfo1 = new AppSettingItemInfo( 2, 1, false, true, false, "", getString(R.string.server_startlock_title), getString(R.string.server_startlock_detail), ""); AppSettingItemInfo appSettingItemInfo2 = new AppSettingItemInfo( 3, 3000, true, false, false, getString(R.string.pwdsetting_title), "", "", ""); AppSettingItemInfo appSettingItemInfo3 = new AppSettingItemInfo( 4, 3, false, false, true, "", getString(R.string.pwdsetting_modify_title), getString(R.string.pwdsetting_modify_detail), getString(R.string.pwdsetting_modify_handler)); AppSettingItemInfo appSettingItemInfo4 = new AppSettingItemInfo( 5, 3, false, false, true, "", getString(R.string.pwdsetting_notrue_title), getString(R.string.pwdsetting_notrue_detail), ""); AppSettingItemInfo appSettingItemInfo5 = new AppSettingItemInfo( 6, 3, false, false, true, "", getString(R.string.pwdsetting_secret_title), getString(R.string.pwdsetting_secret_detail), ""); AppSettingItemInfo appSettingItemInfo6 = new AppSettingItemInfo( 7, 3001, true, false, false, getString(R.string.pwdsetting_advance_title), "", "", ""); AppSettingItemInfo appSettingItemInfo17 = new AppSettingItemInfo( 18, 7, false, true, false, "", getString(R.string.pwdsetting_advance_aoturecordpic__title), getString(R.string.pwdsetting_advance_aoturecordpic__detail), ""); AppSettingItemInfo appSettingItemInfo18 = new AppSettingItemInfo( 19, 7, false, true, false, "", getString(R.string.pwdsetting_advance_playwarringsound__title), getString(R.string.pwdsetting_advance_playwarringsound__detail), ""); AppSettingItemInfo appSettingItemInfo7 = new AppSettingItemInfo( 8, 7, false, true, false, "", getString(R.string.pwdsetting_advance_tipsnewapp_title), getString(R.string.pwdsetting_advance_tipsnewapp_detail), ""); AppSettingItemInfo appSettingItemInfo8 = new AppSettingItemInfo( 9, 7, false, true, false, "", getString(R.string.pwdsetting_advance_allowleave_title), getString(R.string.pwdsetting_advance_allowleave_detail), ""); AppSettingItemInfo appSettingItemInfo9 = new AppSettingItemInfo( 10, 7, false, false, false, "", getString(R.string.pwdsetting_advance_allowleavetime_title), getString(R.string.pwdsetting_advance_allowleavetime_detail_30second), ""); AppSettingItemInfo appSettingItemInfo10 = new AppSettingItemInfo( 11, 7, false, true, false, "", getString(R.string.pwdsetting_advance_hideappicon_title), getString(R.string.pwdsetting_advance_hideappicon__detail), ""); AppSettingItemInfo appSettingItemInfo11 = new AppSettingItemInfo( 12, 7, false, true, false, "", getString(R.string.pwdsetting_advance_uninstallapp_title), getString(R.string.pwdsetting_advance_uninstallapp_detail), ""); AppSettingItemInfo appSettingItemInfo12 = new AppSettingItemInfo( 13, 3002, true, false, false, getString(R.string.pwdsetting_aboutour_title), "", "", ""); AppSettingItemInfo appSettingItemInfo21 = new AppSettingItemInfo( 22, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_apps_title), getString(R.string.pwdsetting_aboutour_apps_detail), ""); AppSettingItemInfo appSettingItemInfo13 = new AppSettingItemInfo( 14, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_feedback_title), getString(R.string.pwdsetting_aboutour_feedback_detail), ""); AppSettingItemInfo appSettingItemInfo14 = new AppSettingItemInfo( 15, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_qa_title), getString(R.string.pwdsetting_aboutour_qa_detail), ""); AppSettingItemInfo appSettingItemInfo15 = new AppSettingItemInfo( 16, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_version_title), getString(R.string.pwdsetting_aboutour_version_detail), getString(R.string.pwdsetting_aboutour_version_hasnew)); AppSettingItemInfo appSettingItemInfo16 = new AppSettingItemInfo( 17, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_lookmyprivate_title), getString(R.string.pwdsetting_aboutour_lookmyprivate_detail), ""); AppSettingItemInfo appSettingItemInfo19 = new AppSettingItemInfo( 20, 1, false, false, true, "", getString(R.string.pwdsetting_share_title), getString(R.string.pwdsetting_share_detail), ""); dataAppSettingItemInfos.add(appSettingItemInfo); dataAppSettingItemInfos.add(appSettingItemInfo1); dataAppSettingItemInfos.add(appSettingItemInfo16); dataAppSettingItemInfos.add(appSettingItemInfo2); dataAppSettingItemInfos.add(appSettingItemInfo3); dataAppSettingItemInfos.add(appSettingItemInfo5); dataAppSettingItemInfos.add(appSettingItemInfo6); dataAppSettingItemInfos.add(appSettingItemInfo17); dataAppSettingItemInfos.add(appSettingItemInfo18); dataAppSettingItemInfos.add(appSettingItemInfo7); dataAppSettingItemInfos.add(appSettingItemInfo8); dataAppSettingItemInfos.add(appSettingItemInfo9); dataAppSettingItemInfos.add(appSettingItemInfo12); dataAppSettingItemInfos.add(appSettingItemInfo21); dataAppSettingItemInfos.add(appSettingItemInfo13); dataAppSettingItemInfos.add(appSettingItemInfo15); addAdapter(dataAppSettingItemInfos); leaveTimeStrings.add(getString(R.string.pwdsetting_advance_allowleavetime_detail_30second)); leaveTimeStrings.add(getString(R.string.pwdsetting_advance_allowleavetime_detail_1minute)); leaveTimeStrings.add(getString(R.string.pwdsetting_advance_allowleavetime_detail_2minute)); leaveTimeStrings.add(getString(R.string.pwdsetting_advance_allowleavetime_detail_5minute)); }
public void checkVersion() { if (appLockApplication.hasNewVersion()) { downLoadFileUrl = appLockApplication.getUpdateVersionUrl(); showUpdateDialog(appLockApplication.getUpdateVersionIntro()); } }
public class AppSettingActivity extends BaseActivity { private Context context = null; private ListView appSettingListView = null; private AppSettingAdapter appSettingAdapter = null; private AppLockApplication appLockApplication = AppLockApplication.getInstance(); private Vector<AppSettingItemInfo> allItemInfos = new Vector<AppSettingItemInfo>(); private List<String> leaveTimeStrings = new ArrayList<String>(); private Vector<AppSettingItemInfo> dataAppSettingItemInfos = new Vector<AppSettingItemInfo>(); private final int SETLEAVEDIALOG_DISS = 100; private final int UPDATEADAPTER = 101; private String downLoadFileUrl = ""; private DevicePolicyManager devicePolicyManager; private ComponentName componentName; private Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case SETLEAVEDIALOG_DISS: { appSettingAdapter.notifyDataSetChanged(); break; } case SplashActivity.CHECKVERSION_CANCEL: case SplashActivity.CHECKVERSION_EOOR: break; case SplashActivity.CHECKVERSION_DOWN: { // 通知栏更新,下载文件 Intent updateIntent = new Intent(AppSettingActivity.this, UpdateService.class); updateIntent.putExtra("appUrl", downLoadFileUrl); startService(updateIntent); break; } case UPDATEADAPTER: { appSettingAdapter.notifyDataSetChanged(); break; } default: break; } } }; private OnCheckedChangeListener mCheckedChangeListener = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub SwitchButton switchButton = (SwitchButton) buttonView; LogUtil.e("colin", "switch is changed:" + switchButton.getId()); switch (switchButton.getId()) { case 2: // 启用加锁 { boolean bIsState = !switchButton.isChecked(); appLockApplication.setAppLockState(bIsState); break; } case 8: // 新应用加锁提示 { break; } case 9: // 允许短暂退出 { boolean bIsState = !switchButton.isChecked(); appLockApplication.setAllowedLeaveAment(bIsState); Intent intent = new Intent(LockService.LOCK_SERVICE_LEAVEAMENT); intent.putExtra(LockService.LOCK_SERVICE_LEAVEAMENT, bIsState); sendBroadcast(intent); LogUtil.d("demo3", "bIsState:" + bIsState); break; } case 11: // 锁锁图标的隐藏和显示 { setHideAppIcon(); break; } case 12: // 防卸载 { if (!switchButton.isChecked() && !devicePolicyManager.isAdminActive(componentName)) { enableDeviceManager(); } else if (switchButton.isChecked() && devicePolicyManager.isAdminActive(componentName)) { disableDeviceManager(); } break; } case 18: // 自动拍照 { appLockApplication.setAutoRecordPic(!switchButton.isChecked()); if (appLockApplication.getAutoRecordPic()) { WarringDialog warringDialog = new WarringDialog(); warringDialog.switchButton = switchButton; warringDialog.show(); } break; } case 19: // 播放告警声音 { appLockApplication.setPlayWarringSoundState(!switchButton.isChecked()); break; } default: break; } appSettingAdapter.notifyDataSetChanged(); } }; private OnItemClickListener itemClickListener = new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub ViewHoder appSettingItemInfo = (ViewHoder) view.getTag(); LogUtil.e("colin", "ll:" + appSettingItemInfo.id); switch (appSettingItemInfo.id) { case 4: { changePassword(); break; } case 6: // 密保设置 { showSetSecretDialog(); break; } case 10: // 短暂退出时间 { LogUtil.e("colin", "短暂退出时间"); if (appLockApplication.allowedLeaveAment) { showSetLeaveTimeDialog(); } break; } case 14: // 用户反馈 { setUpUmengFeedback(); break; } case 15: // 常见问题 { startActivity(new Intent(AppSettingActivity.this, NormalQAActivity.class)); break; } case 16: // 版本更新 { checkVersion(); break; } case 17: // 错误解锁日志 { startActivity(new Intent(AppSettingActivity.this, LookMyPrivateActivity.class)); break; } case 22: // 精品推荐 { startActivity(new Intent(AppSettingActivity.this, AppsLinkActivity.class)); break; } case 20: // 分享 { systemShare(); break; } default: break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_appsetting); context = this; devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); componentName = new ComponentName(this, DeviceMyReceiver.class); appLockApplication.appIconIsHided = getHideAppIcon(); appSettingListView = (ListView) findViewById(R.id.appsettinglistview); appSettingAdapter = new AppSettingAdapter(context, mCheckedChangeListener, appLockApplication); appSettingAdapter.setComponentName(componentName); appSettingAdapter.setDevicePolicyManager(devicePolicyManager); appSettingListView.setAdapter(appSettingAdapter); appSettingListView.setOnItemClickListener(itemClickListener); AppSettingItemInfo appSettingItemInfo = new AppSettingItemInfo( 1, 0, true, false, false, getString(R.string.server_title), "", "", ""); AppSettingItemInfo appSettingItemInfo1 = new AppSettingItemInfo( 2, 1, false, true, false, "", getString(R.string.server_startlock_title), getString(R.string.server_startlock_detail), ""); AppSettingItemInfo appSettingItemInfo2 = new AppSettingItemInfo( 3, 3000, true, false, false, getString(R.string.pwdsetting_title), "", "", ""); AppSettingItemInfo appSettingItemInfo3 = new AppSettingItemInfo( 4, 3, false, false, true, "", getString(R.string.pwdsetting_modify_title), getString(R.string.pwdsetting_modify_detail), getString(R.string.pwdsetting_modify_handler)); AppSettingItemInfo appSettingItemInfo4 = new AppSettingItemInfo( 5, 3, false, false, true, "", getString(R.string.pwdsetting_notrue_title), getString(R.string.pwdsetting_notrue_detail), ""); AppSettingItemInfo appSettingItemInfo5 = new AppSettingItemInfo( 6, 3, false, false, true, "", getString(R.string.pwdsetting_secret_title), getString(R.string.pwdsetting_secret_detail), ""); AppSettingItemInfo appSettingItemInfo6 = new AppSettingItemInfo( 7, 3001, true, false, false, getString(R.string.pwdsetting_advance_title), "", "", ""); AppSettingItemInfo appSettingItemInfo17 = new AppSettingItemInfo( 18, 7, false, true, false, "", getString(R.string.pwdsetting_advance_aoturecordpic__title), getString(R.string.pwdsetting_advance_aoturecordpic__detail), ""); AppSettingItemInfo appSettingItemInfo18 = new AppSettingItemInfo( 19, 7, false, true, false, "", getString(R.string.pwdsetting_advance_playwarringsound__title), getString(R.string.pwdsetting_advance_playwarringsound__detail), ""); AppSettingItemInfo appSettingItemInfo7 = new AppSettingItemInfo( 8, 7, false, true, false, "", getString(R.string.pwdsetting_advance_tipsnewapp_title), getString(R.string.pwdsetting_advance_tipsnewapp_detail), ""); AppSettingItemInfo appSettingItemInfo8 = new AppSettingItemInfo( 9, 7, false, true, false, "", getString(R.string.pwdsetting_advance_allowleave_title), getString(R.string.pwdsetting_advance_allowleave_detail), ""); AppSettingItemInfo appSettingItemInfo9 = new AppSettingItemInfo( 10, 7, false, false, false, "", getString(R.string.pwdsetting_advance_allowleavetime_title), getString(R.string.pwdsetting_advance_allowleavetime_detail_30second), ""); AppSettingItemInfo appSettingItemInfo10 = new AppSettingItemInfo( 11, 7, false, true, false, "", getString(R.string.pwdsetting_advance_hideappicon_title), getString(R.string.pwdsetting_advance_hideappicon__detail), ""); AppSettingItemInfo appSettingItemInfo11 = new AppSettingItemInfo( 12, 7, false, true, false, "", getString(R.string.pwdsetting_advance_uninstallapp_title), getString(R.string.pwdsetting_advance_uninstallapp_detail), ""); AppSettingItemInfo appSettingItemInfo12 = new AppSettingItemInfo( 13, 3002, true, false, false, getString(R.string.pwdsetting_aboutour_title), "", "", ""); AppSettingItemInfo appSettingItemInfo21 = new AppSettingItemInfo( 22, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_apps_title), getString(R.string.pwdsetting_aboutour_apps_detail), ""); AppSettingItemInfo appSettingItemInfo13 = new AppSettingItemInfo( 14, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_feedback_title), getString(R.string.pwdsetting_aboutour_feedback_detail), ""); AppSettingItemInfo appSettingItemInfo14 = new AppSettingItemInfo( 15, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_qa_title), getString(R.string.pwdsetting_aboutour_qa_detail), ""); AppSettingItemInfo appSettingItemInfo15 = new AppSettingItemInfo( 16, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_version_title), getString(R.string.pwdsetting_aboutour_version_detail), getString(R.string.pwdsetting_aboutour_version_hasnew)); AppSettingItemInfo appSettingItemInfo16 = new AppSettingItemInfo( 17, 13, false, false, true, "", getString(R.string.pwdsetting_aboutour_lookmyprivate_title), getString(R.string.pwdsetting_aboutour_lookmyprivate_detail), ""); AppSettingItemInfo appSettingItemInfo19 = new AppSettingItemInfo( 20, 1, false, false, true, "", getString(R.string.pwdsetting_share_title), getString(R.string.pwdsetting_share_detail), ""); dataAppSettingItemInfos.add(appSettingItemInfo); dataAppSettingItemInfos.add(appSettingItemInfo1); dataAppSettingItemInfos.add(appSettingItemInfo16); dataAppSettingItemInfos.add(appSettingItemInfo2); dataAppSettingItemInfos.add(appSettingItemInfo3); dataAppSettingItemInfos.add(appSettingItemInfo5); dataAppSettingItemInfos.add(appSettingItemInfo6); dataAppSettingItemInfos.add(appSettingItemInfo17); dataAppSettingItemInfos.add(appSettingItemInfo18); dataAppSettingItemInfos.add(appSettingItemInfo7); dataAppSettingItemInfos.add(appSettingItemInfo8); dataAppSettingItemInfos.add(appSettingItemInfo9); dataAppSettingItemInfos.add(appSettingItemInfo12); dataAppSettingItemInfos.add(appSettingItemInfo21); dataAppSettingItemInfos.add(appSettingItemInfo13); dataAppSettingItemInfos.add(appSettingItemInfo15); addAdapter(dataAppSettingItemInfos); leaveTimeStrings.add(getString(R.string.pwdsetting_advance_allowleavetime_detail_30second)); leaveTimeStrings.add(getString(R.string.pwdsetting_advance_allowleavetime_detail_1minute)); leaveTimeStrings.add(getString(R.string.pwdsetting_advance_allowleavetime_detail_2minute)); leaveTimeStrings.add(getString(R.string.pwdsetting_advance_allowleavetime_detail_5minute)); } private void addAdapter(Vector<AppSettingItemInfo> itemInfos) { Vector<AppSettingItemInfo> appSettingItemInfos = new Vector<AppSettingItemInfo>(); appSettingItemInfos.removeAllElements(); AppSettingItemInfo tmp = null; Set<Integer> set = new HashSet<Integer>(); if (itemInfos != null && itemInfos.size() > 0) { for (int i = 0; i < itemInfos.size(); i++) { tmp = itemInfos.get(i); if (set.contains(tmp.parentID)) { appSettingItemInfos.add(tmp); } else { set.add(tmp.parentID); appSettingItemInfos.add(tmp); } } appSettingAdapter.removeAll(); allItemInfos = appSettingItemInfos; for (AppSettingItemInfo appSettingItemInfo : appSettingItemInfos) { appSettingAdapter.addItem(appSettingItemInfo); } } } @Override public void onClickEvent(View view) { switch (view.getId()) { case R.id.btn_back: finish(); break; default: break; } super.onClickEvent(view); } private void setUpUmengFeedback() { startActivity(new Intent(AppSettingActivity.this, FeedbackActivity.class)); } private void showSetLeaveTimeDialog() { final AlertDialog updateDialogDlg = new AlertDialog.Builder(this).create(); updateDialogDlg.show(); Window win = updateDialogDlg.getWindow(); win.setContentView(R.layout.dialog_setleavetime); WheelView wheelView = (WheelView) win.findViewById(R.id.wv_leavetime); TextView titleTextView = (TextView) win.findViewById(R.id.update_title); titleTextView.setText(R.string.setleavetimetitle); AbstractWheelTextAdapter adapter = new AbstractWheelTextAdapter(getApplicationContext()) { @Override public int getItemsCount() { // TODO Auto-generated method stub return leaveTimeStrings.size(); } @Override protected CharSequence getItemText(int index) { // TODO Auto-generated method stub return leaveTimeStrings.get(index); } }; OnWheelChangedListener wheelListener = new OnWheelChangedListener() { public void onChanged(WheelView wheel, int oldValue, int newValue) { String setTimeString = leaveTimeStrings.get(wheel.getCurrentItem()); appLockApplication.setAllowedLeaveTime(setTimeString); } }; adapter.setItemResource(R.layout.item_wheel_leavetime); adapter.setItemTextResource(R.id.tv_text); wheelView.setViewAdapter(adapter); wheelView.setCyclic(true); wheelView.addChangingListener(wheelListener); ImageView closeImageView = (ImageView) win.findViewById(R.id.updateclose); closeImageView.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub updateDialogDlg.dismiss(); Message msg = new Message(); msg.what = SETLEAVEDIALOG_DISS; mHandler.sendMessage(msg); } }); updateDialogDlg.setOnDismissListener( new OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { // TODO Auto-generated method stub Message msg = new Message(); msg.what = SETLEAVEDIALOG_DISS; mHandler.sendMessage(msg); } }); } private void showSetSecretDialog() { startActivity(new Intent(AppSettingActivity.this, SecretConfig.class)); } public String getApplicationVersion() { PackageManager packageManager = getPackageManager(); PackageInfo packageInfo; try { packageInfo = packageManager.getPackageInfo(getPackageName(), 0); return packageInfo.versionName; } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ""; } public void checkVersion() { if (appLockApplication.hasNewVersion()) { downLoadFileUrl = appLockApplication.getUpdateVersionUrl(); showUpdateDialog(appLockApplication.getUpdateVersionIntro()); } } public void showUpdateDialog(String intro) { final AlertDialog updateDialogDlg = new AlertDialog.Builder(this).create(); updateDialogDlg.show(); Window win = updateDialogDlg.getWindow(); win.setContentView(R.layout.dialog_update); TextView tvMsg = (TextView) win.findViewById(R.id.tvMsg); tvMsg.setText(intro); Button btOk = (Button) win.findViewById(R.id.btOk); ImageView closeImageView = (ImageView) win.findViewById(R.id.updateclose); closeImageView.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub updateDialogDlg.dismiss(); Message msg = new Message(); msg.what = SplashActivity.CHECKVERSION_CANCEL; mHandler.sendMessage(msg); } }); btOk.setOnClickListener( new View.OnClickListener() { public void onClick(View arg0) { updateDialogDlg.dismiss(); Message msg = new Message(); msg.what = SplashActivity.CHECKVERSION_DOWN; mHandler.sendMessage(msg); } }); updateDialogDlg.setOnDismissListener( new OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { // TODO Auto-generated method stub Message msg = new Message(); msg.what = SplashActivity.CHECKVERSION_CANCEL; mHandler.sendMessage(msg); } }); } public void setHideAppIcon() { PackageManager packageManager = getPackageManager(); ComponentName componentName = new ComponentName(AppSettingActivity.this, SplashActivity.class); int res = packageManager.getComponentEnabledSetting(componentName); if (res == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || res == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { // 隐藏应用图标 packageManager.setComponentEnabledSetting( componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); appLockApplication.appIconIsHided = true; LogUtil.e("colin", "隐藏应用图标"); } else { // 显示应用图标 packageManager.setComponentEnabledSetting( componentName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP); appLockApplication.appIconIsHided = false; LogUtil.e("colin", "显示应用图标"); } } public boolean getHideAppIcon() { PackageManager packageManager = getPackageManager(); ComponentName componentName = new ComponentName(AppSettingActivity.this, SplashActivity.class); int res = packageManager.getComponentEnabledSetting(componentName); if (res == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT || res == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { LogUtil.e("colin", "获取到应用图标显示在桌面上"); return true; } else { LogUtil.e("colin", "获取到应用图标不显示在桌面上"); return false; } } private void changePassword() { if (SharedPreferenceUtil.readIsNumModel()) { Intent intent = new Intent(context, NumberCheckActivity.class); intent.putExtra(NumberCheckActivity.CHANGE_PASSWORD, true); startActivity(intent); } else { Intent intent = new Intent(context, GestureCheckActivity.class); intent.putExtra(GestureCheckActivity.CHANGE_PASSWORD, true); startActivity(intent); } } private void hideLeaverTime() { for (AppSettingItemInfo appSettingItemInfo : dataAppSettingItemInfos) { if (appSettingItemInfo.getClassID() == 10) { dataAppSettingItemInfos.remove(appSettingItemInfo); appSettingAdapter.notifyDataSetChanged(); break; } } } private void showLeaverTime() { AppSettingItemInfo appSettingItemInfo9 = new AppSettingItemInfo( 10, 7, false, false, false, "", getString(R.string.pwdsetting_advance_allowleavetime_title), getString(R.string.pwdsetting_advance_allowleavetime_detail_30second), ""); dataAppSettingItemInfos.add(appSettingItemInfo9); appSettingAdapter.notifyDataSetChanged(); } class WarringDialog extends Dialog implements View.OnClickListener { public SwitchButton switchButton; public WarringDialog() { super(context, R.style.MyDialog); } @Override protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.dialog_warring); findViewById(R.id.btn_cancel).setOnClickListener(this); findViewById(R.id.btn_ok).setOnClickListener(this); super.onCreate(savedInstanceState); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_cancel: switchButton.setChecked(true); appLockApplication.setAutoRecordPic(false); appSettingAdapter.notifyDataSetChanged(); dismiss(); break; case R.id.btn_ok: dismiss(); break; default: break; } } } private void systemShare() { Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); String imgPath = FileService.createShareImage(bm, context); String title = getString(R.string.pwdsetting_share_detail); String text = getString(R.string.pwdsetting_share_text); shareMsg(title, title, text, imgPath); } public void shareMsg(String activityTitle, String msgTitle, String msgText, String imgPath) { Intent intent = new Intent(Intent.ACTION_SEND); if (imgPath == null || imgPath.equals("")) { intent.setType("text/plain"); // 纯文本 } else { File f = new File(imgPath); if (f != null && f.exists() && f.isFile()) { intent.setType("image/jpg"); Uri uri = Uri.fromFile(f); intent.putExtra(Intent.EXTRA_STREAM, uri); } } intent.putExtra(Intent.EXTRA_SUBJECT, msgTitle); intent.putExtra(Intent.EXTRA_TEXT, msgText); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(intent, activityTitle)); } public void enableDeviceManager() { Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName); intent.putExtra( DevicePolicyManager.EXTRA_ADD_EXPLANATION, getString(R.string.pwdsetting_advance_uninstallapp_detail)); context.startActivity(intent); } public void disableDeviceManager() { devicePolicyManager.removeActiveAdmin(componentName); mHandler.sendEmptyMessageDelayed(UPDATEADAPTER, 1500); } @Override protected void onResume() { // TODO Auto-generated method stub appSettingAdapter.notifyDataSetChanged(); super.onResume(); } }