From d1833b2a7cad46529087e2a40f596c205022f02f Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期五, 29 三月 2019 15:46:09 +0800
Subject: [PATCH] 给系统设置加上密码才能进入

---
 app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java     |   32 ++++---
 app/src/main/res/values/strings.xml                                        |    2 
 app/src/main/res/anim/v_fragment_enter.xml                                 |   32 ++++++++
 app/src/main/res/anim/v_fragment_exit.xml                                  |   32 ++++++++
 app/src/main/java/safeluck/drive/evaluation/fragment/PasswordFragment.java |   78 +++++++++++++++++++
 app/src/main/res/layout/layout_pwd_fragment.xml                            |   51 ++++++++++++
 6 files changed, 214 insertions(+), 13 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
index b26ae71..8106811 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
@@ -15,7 +15,8 @@
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.R;
 
-/**棣栭〉
+/**
+ * 棣栭〉
  * MyApplication2
  * Created by lzw on 2019/3/15. 10:21:58
  * 閭锛�632393724@qq.com
@@ -30,7 +31,7 @@
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
 
-        View view = inflater.inflate(R.layout.layout_home_fragment,container,false);
+        View view = inflater.inflate(R.layout.layout_home_fragment, container, false);
         initView(view);
         return view;
     }
@@ -45,30 +46,30 @@
 
     @Override
     public void onClick(View v) {
-        switch (v.getId()){
+        switch (v.getId()) {
             case R.id.car_train:
                 //鍗曟満璁粌
                 TrainFragment trainFragment = findFragment(TrainFragment.class);
-                if (trainFragment == null){
+                if (trainFragment == null) {
                     trainFragment = (TrainFragment) TrainFragment.newInstance();
                     start(trainFragment);
-                }else{
+                } else {
                     start(trainFragment);
                 }
                 break;
             case R.id.network_train:
                 NetWorkTrainFragment netWorkTrainFragment = findFragment(NetWorkTrainFragment.class);
-                if (netWorkTrainFragment == null){
-                    netWorkTrainFragment = (NetWorkTrainFragment)NetWorkTrainFragment.newInstance();
+                if (netWorkTrainFragment == null) {
+                    netWorkTrainFragment = (NetWorkTrainFragment) NetWorkTrainFragment.newInstance();
                     start(netWorkTrainFragment);
-                }else{
+                } else {
                     start(netWorkTrainFragment);
                 }
                 //鑱旂綉鑰冭瘯
                 break;
             case R.id.exit_sys:
                 //閫�鍑虹郴缁�
-                AlertDialog.Builder builder =new AlertDialog.Builder(_mActivity);
+                AlertDialog.Builder builder = new AlertDialog.Builder(_mActivity);
                 builder.setMessage("鎮ㄥ皢閫�鍑虹郴缁�,璇风‘璁ゆ暟鎹凡淇濆瓨").setPositiveButton("纭畾", new DialogInterface.OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
@@ -83,11 +84,16 @@
 
                 break;
             case R.id.system_setting:
-                BaseSettingFragment sysSetingFragment = findFragment(BaseSettingFragment.class);
-                if (sysSetingFragment == null){
-                    sysSetingFragment = (BaseSettingFragment) BaseSettingFragment.newInstance();
+                SupportFragment pwdFragment = findFragment(PasswordFragment.class);
+                if (pwdFragment == null) {
+                    pwdFragment = PasswordFragment.newInstance();
+                    extraTransaction().startDontHideSelf(pwdFragment);
+                } else {
+                    extraTransaction().startDontHideSelf(pwdFragment);
+
                 }
-                start(sysSetingFragment);
+
+
                 break;
         }
     }
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/PasswordFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/PasswordFragment.java
new file mode 100644
index 0000000..5fec2ac
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/PasswordFragment.java
@@ -0,0 +1,78 @@
+package safeluck.drive.evaluation.fragment;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+import me.yokeyword.fragmentation.SupportFragment;
+import safeluck.drive.evaluation.R;
+
+/**
+ * MyApplication2
+ * Created by lzw on 2019/3/29. 13:22:38
+ * 閭锛�632393724@qq.com
+ * All Rights Saved! Chongqing AnYun Tech co. LTD
+ */
+public class PasswordFragment extends SupportFragment implements View.OnClickListener {
+
+
+    private Button btn_sure;
+    private Button btn_cancle;
+    private EditText editText;
+
+    public static SupportFragment newInstance() {
+
+        Bundle args = new Bundle();
+
+        PasswordFragment fragment = new PasswordFragment();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+        View view = inflater.inflate(R.layout.layout_pwd_fragment, container, false);
+        initView(view);
+        return view;
+    }
+
+    private void initView(View view) {
+        btn_cancle = view.findViewById(R.id.btn_cancle);
+        btn_sure = view.findViewById(R.id.btn_sure);
+        editText = view.findViewById(R.id.et_pwd);
+        btn_sure.setOnClickListener(this);
+        btn_cancle.setOnClickListener(this);
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.btn_cancle:
+
+               pop();
+                break;
+            case R.id.btn_sure:
+                String pwd = editText.getText().toString().trim();
+                if (!TextUtils.isEmpty(pwd) && pwd.equals("123456")) {
+                    BaseSettingFragment sysSetingFragment = findFragment(BaseSettingFragment.class);
+                    if (sysSetingFragment == null) {
+                        sysSetingFragment = (BaseSettingFragment) BaseSettingFragment.newInstance();
+                    }
+                    startWithPop(sysSetingFragment);
+                }else{
+                    Toast.makeText(_mActivity, "瀵嗙爜閿欒锛侊紒", Toast.LENGTH_SHORT).show();
+                }
+                break;
+            default:
+                break;
+        }
+    }
+}
diff --git a/app/src/main/res/anim/v_fragment_enter.xml b/app/src/main/res/anim/v_fragment_enter.xml
new file mode 100644
index 0000000..6695199
--- /dev/null
+++ b/app/src/main/res/anim/v_fragment_enter.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+        android:shareInterpolator="false"
+        android:zAdjustment="top">
+    <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
+            android:interpolator="@android:anim/decelerate_interpolator"
+            android:fillEnabled="true"
+            android:fillBefore="false" android:fillAfter="true"
+            android:duration="200"/>
+    <translate android:fromYDelta="8%" android:toYDelta="0"
+            android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true"
+            android:interpolator="@android:anim/decelerate_interpolator"
+            android:duration="300"/>
+</set>
\ No newline at end of file
diff --git a/app/src/main/res/anim/v_fragment_exit.xml b/app/src/main/res/anim/v_fragment_exit.xml
new file mode 100644
index 0000000..3aef44b
--- /dev/null
+++ b/app/src/main/res/anim/v_fragment_exit.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+        android:shareInterpolator="false" android:zAdjustment="top">
+    <alpha android:fromAlpha="1.0" android:toAlpha="0.0"
+            android:interpolator="@android:anim/linear_interpolator"
+            android:fillEnabled="true"
+            android:fillBefore="false" android:fillAfter="true"
+            android:startOffset="100"
+            android:duration="150"/>
+    <translate android:fromYDelta="0%" android:toYDelta="8%"
+            android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true"
+            android:interpolator="@android:anim/accelerate_interpolator"
+            android:duration="250"/>
+</set>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_pwd_fragment.xml b/app/src/main/res/layout/layout_pwd_fragment.xml
new file mode 100644
index 0000000..b0bccef
--- /dev/null
+++ b/app/src/main/res/layout/layout_pwd_fragment.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@android:color/transparent"
+    android:gravity="center"
+    android:orientation="vertical">
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="220dp"
+    android:layout_height="140dp"
+    android:background="@color/train_bg"
+    android:layout_gravity="center"
+    android:padding="10dp">
+<android.support.design.widget.TextInputLayout
+    android:layout_width="match_parent"
+    app:counterMaxLength="8"
+    app:counterEnabled="true"
+    android:id="@+id/txt_input_1"
+    android:layout_height="60dp">
+<EditText
+    android:layout_width="match_parent"
+    android:hint="@string/plspwd"
+    android:id="@+id/et_pwd"
+    android:inputType="textPassword"
+    android:layout_height="50dp" />
+</android.support.design.widget.TextInputLayout>
+<Button
+    android:layout_marginTop="20dp"
+    android:layout_marginStart="20dp"
+    android:layout_width="80dp"
+    android:layout_height="50dp"
+    android:id="@+id/btn_sure"
+    android:layout_alignParentStart="true"
+    android:layout_below="@+id/txt_input_1"
+    android:text="纭畾"/>
+
+    <Button
+        android:id="@+id/btn_cancle"
+        android:layout_width="80dp"
+        android:layout_height="50dp"
+        android:layout_below="@+id/txt_input_1"
+        android:layout_alignParentEnd="true"
+        android:layout_marginTop="20dp"
+        android:layout_marginEnd="20dp"
+        android:text="鍙栨秷" />
+
+
+</RelativeLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ce9009b..b5f22e9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -11,4 +11,6 @@
     <string name="sys_setting_sub">鏅鸿兘鑰冨煿锛屽姪鍔涢┚鑰冩柊鏃呯▼</string>
     <string name="save">淇濆瓨</string>
     <string name="on_board_sn">杞﹁浇璁惧鍙凤細</string>
+    <string name="pwd">瀵嗙爜</string>
+    <string name="plspwd">璇疯緭鍏ュ瘑鐮�</string>
 </resources>

--
Gitblit v1.8.0