Browse Source

开启关闭界面

losion.liu@sikey.com.cn 6 tháng trước cách đây
mục cha
commit
be60862c64

+ 189 - 0
app/src/main/java/com/xplora/xpsettings/Activity/BaseActionActivity.java

@@ -0,0 +1,189 @@
+package com.xplora.xpsettings.Activity;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.PowerManager;
+import android.provider.ContactsContract;
+import android.provider.Settings;
+import android.util.Log;
+import android.view.WindowManager;
+
+import com.xplora.xpsettings.Data.DataManager;
+import com.xplora.xpsettings.Fragment.ShutdownningFragment;
+import com.xplora.xpsettings.Observer.Listener;
+import com.xplora.xpsettings.Utils.Constant;
+import com.xplora.xpsettings.Utils.Macros;
+import com.xplora.xpsettings.Utils.ResUtils;
+
+import java.lang.reflect.Method;
+
+public class BaseActionActivity extends BaseActivity implements Listener.SelectFragmentListener {
+    public int mActionType = 0;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mActionType = getIntent().getIntExtra(Constant.INTENT_VIEW_TYPE, 0);
+    }
+
+    public String getActionTitle() {
+        switch (mActionType) {
+            case 0:
+                String[] stringList = ResUtils.getStringArray("sk_settings_title_array_", 5);
+                return stringList[0];
+            default:
+                break;
+        }
+        return "";
+    }
+
+    public int getActionStatus() {
+        switch (mActionType) {
+            case 0:
+                return DataManager.getAirplaneMode();
+            default:
+                break;
+        }
+        return 0;
+    }
+
+    public void setActionStatus(int status) {
+        switch (mActionType) {
+            case 0:
+                changeAirplaneMode(status);
+                break;
+            default:
+                break;
+        }
+    }
+
+    public void changeAirplaneMode(int status) {
+        // 设置飞行模式状态
+        DataManager.setAirplaneMode(status);
+
+        // 发送广播通知系统飞行模式状态已改变
+        Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
+        intent.putExtra("state", status == 1);
+        sendBroadcast(intent);
+    }
+
+    public void gotoQRcode() {
+        Log.d(TAG, "gotoQRcode: " + DataManager.getIsSupportESIM());
+        if (DataManager.getIsSupportESIM()) {
+            //该应用的包名
+            String pkg = "com.gieseckedevrient.lpa.gsma.v22";
+            //应用的主activity类
+            String cls = pkg + ".euiccmanagement.EuiccManagementActivity";
+            ComponentName componet = new ComponentName(pkg, cls);
+
+            Intent intent = new Intent();
+            intent.putExtra("intent_from", DataManager.isWatchActivated() >= 1 ? 3 : 1);
+            intent.setComponent(componet);
+            startActivity(intent);
+        } else {
+            //该应用的包名
+            String pkg = "com.xplora.xponboarding";
+            //应用的主activity类
+            String cls = pkg + ".Activity.QRActivity";
+            ComponentName componet = new ComponentName(pkg, cls);
+
+            Intent intent = new Intent();
+            intent.putExtra("intent_from", 3);
+            intent.setComponent(componet);
+            startActivity(intent);
+        }
+    }
+
+    public void gotoUpdate() {
+        //该应用的包名
+        String pkg = "com.sikey.commonservice";
+        //应用的主activity类
+        String cls = pkg + ".ui.activity.OtaCheckActivity";
+        ComponentName componet = new ComponentName(pkg, cls);
+
+        Intent intent = new Intent();
+        intent.putExtra("intent_from", 1);
+        intent.setComponent(componet);
+        startActivity(intent);
+    }
+
+    public void restart() {
+        if (Macros.DEBUG_RESTART) {
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        PowerManager pManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
+                        pManager.reboot("userrequested");
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
+        } else {
+            String pkg = "com.sikey.commonservice";
+            String cls = pkg + ".modules.callbacks.LocalReceiver";
+            ComponentName componet = new ComponentName(pkg, cls);
+
+            Intent intent = new Intent("com.xplora.action.POWER_STATUS");
+            intent.putExtra("type", 1);  //0:power off  1:reboot  2:factory reset
+            intent.setComponent(componet);
+            sendBroadcast(intent, "com.xplora.receiver");
+            Log.d(TAG, "restart: ");
+        }
+    }
+
+    public void shutdown() {
+        if (Macros.DEBUG_RESTART) {
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        PowerManager pManager = (PowerManager)getSystemService(Context.POWER_SERVICE);
+                        if (pManager != null) {
+                            Method method = pManager.getClass().getMethod("shutdown", boolean.class, String.class, boolean.class);
+                            method.invoke(pManager, false, "userrequested", false);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
+        } else {
+            String pkg = "com.sikey.commonservice";
+            String cls = pkg + ".modules.callbacks.LocalReceiver";
+            ComponentName componet = new ComponentName(pkg, cls);
+
+            Intent intent = new Intent("com.xplora.action.POWER_STATUS");
+            intent.putExtra("type", 0);  //0:power off  1:reboot  2:factory reset
+            intent.setComponent(componet);
+            sendBroadcast(intent, "com.xplora.receiver");
+            Log.d(TAG, "shutdown: ");
+        }
+    }
+
+    @Override
+    public void onSelectFragment(int type) {
+        if (type == 100) {
+            restart();
+        } else if (type == 101) {
+            shutdown();
+        } else if (type == 102) {
+
+        }
+
+        //状态栏不显示
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
+
+        //黑背景,防止关机中看到setting界面
+        ShutdownningFragment fragment = ShutdownningFragment.newInstance(this);
+        fragment.show(this.getFragmentManager(), Constant.PACKAGE_NAME);
+    }
+
+    @Override
+    public void onCancelFragment() {
+
+    }
+}

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/CameraResolutionActivity.java

@@ -60,7 +60,7 @@ public class CameraResolutionActivity extends BaseActivity {
         ListView listView = findViewById(R.id.activity_listview);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(1);
+        listView.setDividerHeight(0);
         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/DisplayActivity.java

@@ -78,7 +78,7 @@ public class DisplayActivity extends BaseActivity {
         mAdapter = new BaseListAdapter(this, R.layout.item_xpstyle, mDataList, mHandler);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(1);
+        listView.setDividerHeight(0);
         listView.setOnItemClickListener((adapterView, view, i, l) -> {
             Intent intent;
             switch (i) {

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/LanguageActivity.java

@@ -48,7 +48,7 @@ public class LanguageActivity extends BaseActivity {
         ListView listView = findViewById(R.id.activity_listview);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(1);
+        listView.setDividerHeight(0);
         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

+ 5 - 3
app/src/main/java/com/xplora/xpsettings/Activity/OpenCloseActivity.java

@@ -13,11 +13,12 @@ import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.Utils.Constant;
 import com.xplora.xpsettings.Utils.ResUtils;
 
-public class OpenCloseActivity extends BaseActivity {
+public class OpenCloseActivity extends BaseActionActivity {
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_list);
+        setContentView(R.layout.activity_list_title);
+        setWatchTitle(getActionTitle());
         initData();
         initView();
     }
@@ -27,6 +28,7 @@ public class OpenCloseActivity extends BaseActivity {
         for (int i = 0; i < stringList.length; i++) {
             BaseModel model = new BaseModel();
             model.title = stringList[i].trim();
+            model.isOn = i == getActionStatus();
             model.cellType = Constant.CellType.CHECKBOX;
             mDataList.add(model);
         }
@@ -37,7 +39,7 @@ public class OpenCloseActivity extends BaseActivity {
         ListView listView = findViewById(R.id.activity_listview);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(1);
+        listView.setDividerHeight(0);
         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/RingToneActivity.java

@@ -99,7 +99,7 @@ public class RingToneActivity extends BaseActivity implements Listener.ContentLi
         mAdapter = new BaseListAdapter(this, 0, mDataList);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(1);
+        listView.setDividerHeight(0);
         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/ScreenTimeActivity.java

@@ -66,7 +66,7 @@ public class ScreenTimeActivity extends BaseActivity {
         ListView listView = findViewById(R.id.activity_listview);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(1);
+        listView.setDividerHeight(0);
         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

+ 4 - 75
app/src/main/java/com/xplora/xpsettings/Activity/SettingsActivity.java

@@ -28,7 +28,7 @@ import com.xplora.xpsettings.Utils.ResUtils;
 import java.lang.reflect.Method;
 
 
-public class SettingsActivity extends BaseActivity {
+public class SettingsActivity extends BaseActionActivity {
     private boolean isLockClick = false; //防止快速多次点击不同item
 
     @Override
@@ -47,7 +47,7 @@ public class SettingsActivity extends BaseActivity {
             model.backgroundImage = ResUtils.getImageId("settings_bg_", i);
             model.title = stringList[i].trim();
             model.icon = ResUtils.getImageId("settings_icon_", i);
-            model.cellType = i == 11 ? Constant.CellType.GONE : Constant.CellType.ICON_TITLE;
+            model.cellType = Constant.CellType.ICON_TITLE;
             model.isShowArrow = false;
             mDataList.add(model);
         }
@@ -58,8 +58,7 @@ public class SettingsActivity extends BaseActivity {
         ListView listView = findViewById(R.id.activity_listview);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(4);
-
+        listView.setDividerHeight(0);
         listView.setOnItemClickListener((adapterView, view, i, l) -> {
             if (isLockClick) {
                 Log.d(TAG, "initView: listView click lock");
@@ -71,6 +70,7 @@ public class SettingsActivity extends BaseActivity {
             switch (i) {
                 case 0:
                     intent = new Intent(this, OpenCloseActivity.class);
+                    intent.putExtra(Constant.INTENT_VIEW_TYPE, 0);
                     startActivity(intent);
                     break;
                 case 1:
@@ -96,83 +96,12 @@ public class SettingsActivity extends BaseActivity {
                 case 6:
                     gotoQRcode();
                     break;
-                case 7:
-                    intent = new Intent(this, ApnListActivity.class);
-                    startActivity(intent);
-                    break;
-                case 8:
-                    gotoUpdate();
-                    break;
-                case 9:
-                    //Monkey测试时,屏蔽关机
-                    if (DataManager.getLockShutDown() == 1)
-                        break;
-                    SelectFragment fragment6 = SelectFragment.newInstance(this);
-                    fragment6.setItemInfo(100, getString(R.string.restart), getString(R.string.confirm_to_restart));
-                    fragment6.show(this.getFragmentManager(), Constant.PACKAGE_NAME);
-                    break;
-                case 10:
-                    //Monkey测试时,屏蔽关机
-                    if (DataManager.getLockShutDown() == 1)
-                        break;
-                    SelectFragment fragment7 = SelectFragment.newInstance(this);
-                    fragment7.setItemInfo(101, getString(R.string.shut_down), getString(R.string.confirm_to_shut_down));
-                    fragment7.show(this.getFragmentManager(), Constant.PACKAGE_NAME);
-                    break;
-                case 11:
-                    intent = new Intent(this, AlertActivity.class);
-                    startActivity(intent);
-                    break;
-                case 12:
-                    intent = new Intent(this, AboutActivity.class);
-                    startActivity(intent);
-                    break;
                 default:
                     break;
             }
         });
     }
 
-    public void gotoQRcode() {
-        Log.d(TAG, "gotoQRcode: " + DataManager.getIsSupportESIM());
-        if (DataManager.getIsSupportESIM()) {
-            //该应用的包名
-            String pkg = "com.gieseckedevrient.lpa.gsma.v22";
-            //应用的主activity类
-            String cls = pkg + ".euiccmanagement.EuiccManagementActivity";
-            ComponentName componet = new ComponentName(pkg, cls);
-
-            Intent intent = new Intent();
-            intent.putExtra("intent_from", DataManager.isWatchActivated() >= 1 ? 3 : 1);
-            intent.setComponent(componet);
-            startActivity(intent);
-        } else {
-            //该应用的包名
-            String pkg = "com.xplora.xponboarding";
-            //应用的主activity类
-            String cls = pkg + ".Activity.QRActivity";
-            ComponentName componet = new ComponentName(pkg, cls);
-
-            Intent intent = new Intent();
-            intent.putExtra("intent_from", 3);
-            intent.setComponent(componet);
-            startActivity(intent);
-        }
-    }
-
-    public void gotoUpdate() {
-        //该应用的包名
-        String pkg = "com.sikey.commonservice";
-        //应用的主activity类
-        String cls = pkg + ".ui.activity.OtaCheckActivity";
-        ComponentName componet = new ComponentName(pkg, cls);
-
-        Intent intent = new Intent();
-        intent.putExtra("intent_from", 1);
-        intent.setComponent(componet);
-        startActivity(intent);
-    }
-
     @Override
     protected void onResume() {
         super.onResume();

+ 19 - 100
app/src/main/java/com/xplora/xpsettings/Activity/SystemActivity.java

@@ -32,7 +32,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 
-public class SystemActivity extends BaseActivity implements Listener.SelectFragmentListener {
+public class SystemActivity extends BaseActionActivity {
     private final List<IconProgressModel> mDataList = new ArrayList<>();
 
     @Override
@@ -45,16 +45,14 @@ public class SystemActivity extends BaseActivity implements Listener.SelectFragm
     @Override
     protected void onResume() {
         super.onResume();
-
         mDataList.clear();
         initData();
-
         mAdapter.setBaseObjects(mDataList);
         mAdapter.notifyDataSetInvalidated();
     }
 
     private void initData() {
-        String[] stringList = ResUtils.getStringArray("system_title_array_", 5);
+        String[] stringList = ResUtils.getStringArray("system_title_array_", 6);
         for (int i = 0; i < stringList.length; i++) {
             IconProgressModel model = new IconProgressModel();
             model.title = stringList[i].trim();
@@ -69,7 +67,7 @@ public class SystemActivity extends BaseActivity implements Listener.SelectFragm
         mAdapter = new BaseListAdapter(this, R.layout.item_xpstyle, mDataList);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(1);
+        listView.setDividerHeight(0);
         listView.setOnItemClickListener((adapterView, view, i, l) -> {
             Intent intent;
             switch (i) {
@@ -81,115 +79,36 @@ public class SystemActivity extends BaseActivity implements Listener.SelectFragm
                     startActivity(intent);
                     break;
                 case 2:
+                    //Monkey测试时,屏蔽关机
+                    if (DataManager.getLockShutDown() == 1)
+                        break;
+                    SelectFragment fragment2 = SelectFragment.newInstance(this);
+                    fragment2.setItemInfo(102, getString(R.string.shut_down), getString(R.string.confirm_to_restore_factory));
+                    fragment2.show(this.getFragmentManager(), Constant.PACKAGE_NAME);
                     break;
                 case 3:
                     //Monkey测试时,屏蔽关机
                     if (DataManager.getLockShutDown() == 1)
                         break;
-                    SelectFragment fragment7 = SelectFragment.newInstance(this);
-                    fragment7.setItemInfo(101, getString(R.string.shut_down), getString(R.string.confirm_to_shut_down));
-                    fragment7.show(this.getFragmentManager(), Constant.PACKAGE_NAME);
+                    SelectFragment fragment3 = SelectFragment.newInstance(this);
+                    fragment3.setItemInfo(101, getString(R.string.shut_down), getString(R.string.confirm_to_shut_down));
+                    fragment3.show(this.getFragmentManager(), Constant.PACKAGE_NAME);
                     break;
                 case 4:
                     //Monkey测试时,屏蔽关机
                     if (DataManager.getLockShutDown() == 1)
                         break;
-                    SelectFragment fragment6 = SelectFragment.newInstance(this);
-                    fragment6.setItemInfo(100, getString(R.string.restart), getString(R.string.confirm_to_restart));
-                    fragment6.show(this.getFragmentManager(), Constant.PACKAGE_NAME);
+                    SelectFragment fragment4 = SelectFragment.newInstance(this);
+                    fragment4.setItemInfo(100, getString(R.string.restart), getString(R.string.confirm_to_restart));
+                    fragment4.show(this.getFragmentManager(), Constant.PACKAGE_NAME);
+                    break;
+                case 5:
+                    intent = new Intent(this, AlertActivity.class);
+                    startActivity(intent);
                     break;
                 default:
                     break;
             }
         });
     }
-
-    @Override
-    public void onSelectFragment(int type) {
-        if (type == 100) {
-            restart();
-        } else if (type == 101) {
-            shutdown();
-        }
-
-        //状态栏不显示
-        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
-
-        //黑背景,防止关机中看到setting界面
-        ShutdownningFragment fragment = ShutdownningFragment.newInstance(this);
-        fragment.show(this.getFragmentManager(), Constant.PACKAGE_NAME);
-    }
-
-    @Override
-    public void onCancelFragment() {
-
-    }
-
-    public void restart() {
-        if (Macros.DEBUG_RESTART) {
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        PowerManager pManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
-                        pManager.reboot("userrequested");
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                }
-            }).start();
-        } else {
-            String pkg = "com.sikey.commonservice";
-            String cls = pkg + ".modules.callbacks.LocalReceiver";
-            ComponentName componet = new ComponentName(pkg, cls);
-
-            Intent intent = new Intent("com.xplora.action.POWER_STATUS");
-            intent.putExtra("type", 1);  //0:power off  1:reboot  2:factory reset
-            intent.setComponent(componet);
-            sendBroadcast(intent, "com.xplora.receiver");
-            Log.d(TAG, "restart: ");
-        }
-    }
-
-    public void shutdown() {
-        if (Macros.DEBUG_RESTART) {
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        PowerManager pManager = (PowerManager)getSystemService(Context.POWER_SERVICE);
-                        if (pManager != null) {
-                            Method method = pManager.getClass().getMethod("shutdown", boolean.class, String.class, boolean.class);
-                            method.invoke(pManager, false, "userrequested", false);
-                        }
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                }
-            }).start();
-        } else {
-            String pkg = "com.sikey.commonservice";
-            String cls = pkg + ".modules.callbacks.LocalReceiver";
-            ComponentName componet = new ComponentName(pkg, cls);
-
-            Intent intent = new Intent("com.xplora.action.POWER_STATUS");
-            intent.putExtra("type", 0);  //0:power off  1:reboot  2:factory reset
-            intent.setComponent(componet);
-            sendBroadcast(intent, "com.xplora.receiver");
-            Log.d(TAG, "shutdown: ");
-        }
-    }
-
-    public void gotoUpdate() {
-        //该应用的包名
-        String pkg = "com.sikey.commonservice";
-        //应用的主activity类
-        String cls = pkg + ".ui.activity.OtaCheckActivity";
-        ComponentName componet = new ComponentName(pkg, cls);
-
-        Intent intent = new Intent();
-        intent.putExtra("intent_from", 1);
-        intent.setComponent(componet);
-        startActivity(intent);
-    }
 }

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/TimeFormatActivity.java

@@ -59,7 +59,7 @@ public class TimeFormatActivity extends BaseActivity {
         ListView listView = findViewById(R.id.activity_listview);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(1);
+        listView.setDividerHeight(0);
         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Activity/VolumeActivity.java

@@ -85,7 +85,7 @@ public class VolumeActivity extends BaseActivity {
         ListView listView = findViewById(R.id.activity_listview);
         listView.setAdapter(mAdapter);
         listView.setDivider(new ColorDrawable(Color.TRANSPARENT));
-        listView.setDividerHeight(1);
+        listView.setDividerHeight(0);
 
         listView.setOnItemClickListener((adapterView, view, i, l) -> {
             if (i <= 1) {

+ 23 - 2
app/src/main/java/com/xplora/xpsettings/Data/DataManager.java

@@ -4,6 +4,7 @@ import android.app.Application;
 import android.app.NotificationManager;
 import android.content.ContentValues;
 import android.content.Context;
+import android.content.Intent;
 import android.content.SharedPreferences;
 import android.database.Cursor;
 import android.media.AudioManager;
@@ -424,7 +425,7 @@ public class DataManager extends Application {
 
     public static void setVoLET(int value) {
         Log.d(TAG, "setVoLET: " + value);
-        SetVolteEnable(value == 1);
+        setVolteEnable(value == 1);
         Settings.Global.putInt(sContext.getContentResolver(), "volte_vt_enabled", value);
     }
 
@@ -621,7 +622,7 @@ public class DataManager extends Application {
      * "volte_vt_enabled"
      */
 
-    public static void SetVolteEnable(boolean enable){
+    public static void setVolteEnable(boolean enable){
         int value = enable ? 1 : 0;
         String volteStr = null ;
         Settings.Global Global = new Settings.Global();
@@ -657,4 +658,24 @@ public class DataManager extends Application {
             e1.printStackTrace();
         }
     }
+
+    //0:关闭 1:已开启
+    public static int getAirplaneMode() {
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
+            return Settings.System.getInt(sContext.getContentResolver(),
+                    Settings.System.AIRPLANE_MODE_ON, 0);
+        } else {
+            return Settings.Global.getInt(sContext.getContentResolver(),
+                    Settings.Global.AIRPLANE_MODE_ON, 0);
+        }
+    }
+
+    // 设置飞行模式 //0:关闭 1:已开启
+    public static void setAirplaneMode(int status) {
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
+            Settings.System.putInt(sContext.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, status);
+        } else {
+            Settings.Global.putInt(sContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, status);
+        }
+    }
 }

+ 10 - 0
app/src/main/res/drawable/sk_checkbox.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <!--    选中状态-->
+    <item android:drawable="@drawable/sk_checkbox_on" android:state_checked="true"/>
+    <!--    不选中状态-->
+    <item android:drawable="@drawable/sk_checkout_off" android:state_checked="false"/>
+    <item android:drawable="@drawable/sk_checkbox_on" android:state_pressed="true"/>
+    <!--    默认状态-->
+    <item android:drawable="@drawable/sk_checkout_off"/>
+</selector>

+ 0 - 0
app/src/main/res/drawable/sk_checkbox.png → app/src/main/res/drawable/sk_checkbox_on.png


+ 5 - 0
app/src/main/res/drawable/sk_checkout_off.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval">
+    <solid android:color="#00000000" />
+</shape>

+ 5 - 5
app/src/main/res/layout/activity_list_title.xml

@@ -14,11 +14,11 @@
         <TextView
             android:id="@+id/title"
             android:layout_width="match_parent"
-            android:layout_height="18dp"
-            android:layout_marginTop="25dp"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
             android:textAlignment="center"
-            android:textSize="12sp"
-            android:textFontWeight="500"
+            android:textSize="17sp"
+            android:textStyle="bold"
             android:textColor="#FFFFFFFF"
             android:fontFamily="Roboto"
             android:visibility="gone"
@@ -28,7 +28,7 @@
             android:id="@+id/activity_listview"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="10dp"
+            android:layout_marginTop="7dp"
             android:scrollbarThumbVertical="@color/xp_yellow"
             >
         </ListView>

+ 3 - 0
app/src/main/res/values-zh-rCN/strings.xml

@@ -171,6 +171,8 @@
     <string name="sk_settings_title_array_5">语言设置</string>
     <string name="sk_settings_title_array_6">设备二维码</string>
     <string name="sk_settings_title_array_7">PWS</string>
+    <string name="sk_openclose_title_array_0">关闭</string>
+    <string name="sk_openclose_title_array_1">打开</string>
     <string name="sk_connections_title_array_0">VoLTE通话</string>
     <string name="sk_connections_title_array_1">移动数据</string>
     <string name="sk_connections_title_array_2">数据漫游</string>
@@ -179,4 +181,5 @@
     <string name="system_title_array_2">恢复出厂设置</string>
     <string name="system_title_array_3">关机</string>
     <string name="system_title_array_4">重启</string>
+    <string name="system_title_array_5">诊断工具</string>
 </resources>

+ 0 - 179
app/src/main/res/values-zh-rTW/strings.xml

@@ -1,179 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="app_name">Settings</string>
-    <string name="button_cancel">取消</string>
-    <string name="button_no">不</string>
-    <string name="button_yes">是的</string>
-    <string name="button_retry">重試</string>
-    <string name="button_gotowifi">跳到Wi-Fi</string>
-    <string name="button_updatenow">立即更新</string>
-    <string name="button_disconnected">斷開連接</string>
-    <string name="button_connect">連接</string>
-    <string name="button_forget">忘記</string>
-    <string name="button_cancel_paired">斷開</string>
-    <string name="software_available">更新可用</string>
-    <string name="software_version">版本</string>
-    <string name="software_failed">下載失敗</string>
-    <string name="software_downloading">正在下載。 。</string>
-    <string name="software_install">正在安裝。 。</string>
-    <string name="software_install_hint">更新期間請勿關閉手錶</string>
-    <string name="restore_factory_settings">你確定要重置手錶嗎?</string>
-    <string name="qr_code">QR 圖碼</string>
-    <string name="data_roaming_on">ON</string>
-    <string name="data_roaming_off">關閉</string>
-    <string name="available_devices">可用設備</string>
-    <string name="networks">網路</string>
-    <string name="app_name_status_hint">打開後,\n將顯示手錶應用程式名稱</string>
-    <string name="bt_connected">已連接</string>
-    <string name="bt_pairing">正在配對…</string>
-    <string name="bt_paired">配對</string>
-    <string name="bt_notpaired">未配對</string>
-    <string name="apn_hint">請點選"+"新增APN</string>
-    <string name="apn_delete_content">您真的要刪除此APN嗎?</string>
-    <string name="hour_time">24小時制</string>
-    <string name="restart">重新啟動</string>
-    <string name="shut_down">關閉</string>
-    <string name="confirm_to_restart">確認重新啟動嗎?</string>
-    <string name="confirm_to_shut_down">確認要關閉嗎?</string>
-    <string name="blackdoor_password_error">密碼錯誤!</string>
-    <string name="source_announcement_1">本產品所包含的軟體包含根據GPL許可的受版權保護的軟體。</string>
-    <string name="source_announcement_2">如果您想在本產品最後一次發貨後兩年內獲得完整的相應原始程式碼,請發送電子郵件至support@xplora.com</string>
-    <string name="password_wrong">密碼錯誤</string>
-    <string name="input_apn_name">輸入APN名稱</string>
-    <string name="no">不</string>
-    <string name="yes">是的</string>
-    <string name="exit">退出</string>
-    <string name="ringtone_title_new">新鈴聲</string>
-    <string name="ringtone_title_download">下載鈴聲</string>
-    <string name="ringtone_click">鈴聲現在可用\n單擊以啟動它</string>
-    <string name="content_download">您想下載嗎?</string>
-    <string name="content_setup">已成功下載</string>
-    <string name="content_reason_0">失敗原因:未知\n是否要再下載?</string>
-    <string name="content_reason_1">失敗原因:沒有儲存空間,請刪除一些內容並重試。</string>
-    <string name="content_reason_2">失敗原因:Wi-Fi連線失敗,請連線至Wi-Fi並重試。</string>
-    <string name="content_reason_100">您需要Wi-Fi才能下載。 \n您想連線到Wi-Fi嗎?</string>
-    <string name="content_downloading">下載中</string>
-    <string name="content_more">更多…</string>
-    <string name="roaming_alert_title">漫遊警報</string>
-    <string name="roaming_alert">你好像已經出國。在漫遊條件下,您的通話、簡訊和數據資費可能不同。</string>
-    <string name="ok">好的</string>
-    <string name="not_set">未設定</string>
-    <string name="input_name">輸入名稱</string>
-    <string name="ensure_guardian_summary">為確保您是監護人,請輸入Xplora的密碼</string>
-    <string name="next">下一個</string>
-    <string name="cpp_title_0">兒童隱私權政策</string>
-    <string name="cpp_content_0">我們知道,仔細處理您告訴我們的18歲以下兒童的數據非常重要。本通知解釋了我們在兒童資料方面做什麼(和不做什麼)。</string>
-    <string name="cpp_title_1">我們收集哪些兒童數據</string>
-    <string name="cpp_content_1">未經兒童父母或監護人的許可,我們不會故意收集兒童的資料。當我們收集這些數據時,我們可能會直接這樣做,就像你註冊服務一樣。如果您的孩子使用我們提供的產品或服務,我們也可能會自動收集。我們收集以下數據:</string>
-    <string name="cpp_title_2">地理定位數據</string>
-    <string name="cpp_content_2">–我們收集數據,告訴我們您孩子智慧型裝置的位置。</string>
-    <string name="cpp_title_3">唯一識別符</string>
-    <string name="cpp_content_3">–我們收集裝置和網路識別碼–基本上,這是我們判斷網路上哪個智慧型裝置是您孩子的方式。</string>
-    <string name="cpp_title_4">客戶專有網路資訊("CPNI")</string>
-    <string name="cpp_content_4">–由您的孩子使用我們的無線語音通訊服務產生。您孩子使用我們的產品、服務和網路(以及在國內或國際漫遊時其他運營商的網路)的信息,如連接運營商和互聯網服務提供商的使用情況、互聯網協議("IP")地址、短信和數據使用歷史記錄、內容互動(例如,您使用應用程式的時間)、語言設定以及其他網路和裝置分析以及Wi-Fi連接和使用數據。</string>
-    <string name="cpp_title_5">設備及服務效能及診斷訊息</string>
-    <string name="cpp_content_5">–這包括來自孩子設備的關於訊號強度、速度、應用程式和服務性能、斷線、呼叫和數據故障、地理位置資訊和設備數據的報告。</string>
-    <string name="cpp_title_6">備份訊息</string>
-    <string name="cpp_content_6">–如果您孩子的裝置將資訊上傳到XPLORA Mobile AS/XPLORA TECHNOLOGIES AS,則包括儲存在備份和雲端服務中的資料。</string>
-    <string name="cpp_title_7">音訊訊息</string>
-    <string name="cpp_content_7">–包括您的孩子向我們的應用程式提供的語音命令(例如,用於無障礙或免持使用)。</string>
-    <string name="cpp_title_8">孩子的用戶名</string>
-    <string name="cpp_content_8">–加入兒童友善活動平台Xplora Goplay。</string>
-    <string name="cpp_title_9">數據使用情況</string>
-    <string name="cpp_content_9">–這告訴我們熱點使用的資料量,以及與造訪的網站相關的IP位址。</string>
-    <string name="cpp_title_10">唯一識別符</string>
-    <string name="cpp_content_10">–我們收集裝置和網路識別碼–基本上,我們可以告訴您網路上的哪個熱點是您孩子的。</string>
-    <string name="cpp_title_11">我們如何使用兒童數據</string>
-    <string name="cpp_content_11">我們收集兒童資料的主要原因是提供收集資料的產品或服務。但我們也可能使用兒童的數據來做以下事情:</string>
-    <string name="cpp_content_12">建立和管理帳戶,完成與我們的產品和服務以及向您的帳戶收取費用的第三方產品和服務相關的交易、付款、計費和請求。</string>
-    <string name="cpp_content_13">檢查特定產品或服務的資格。</string>
-    <string name="cpp_content_14">幫助制止欺詐、惡意、欺騙、辱罵或非法活動。</string>
-    <string name="cpp_content_15">修復錯誤,確保我們的產品、服務和網路的品質、安全和保障</string>
-    <string name="cpp_content_16">與執法部門合作,保護我們的客戶、XPLORA Mobile AS/XPLORA TECHNOLOGIES AS和其他人的權利、安全或財產。</string>
-    <string name="cpp_content_17">遵守和執行法律和監管義務,並回應政府要求。</string>
-    <string name="cpp_content_18">執行我們的政策、條款和條件或其他協議。</string>
-    <string name="cpp_content_19">為索賠、爭議或訴訟辯護或提起訴訟。</string>
-    <string name="cpp_title_20">當我們分享兒童數據時</string>
-    <string name="cpp_content_20">有時我們會僱用其他人來幫助我們提供產品或服務,而這些服務提供者可能需要存取兒童的資料。他們必須對我們提供給他們的兒童資料保密,並僅將其用於提供我們要求的服務。我們也可能與包括政府在內的第三方共享兒童數據,以進行法律程序或保護生命和安全,前提是我們認為存取、使用、保存或揭露數據是合理必要的。</string>
-    <string name="cpp_title_21">您作為父母或監護人的權利</string>
-    <string name="cpp_content_21">當涉及孩子的資料時,父母和監護人有權:</string>
-    <string name="cpp_content_22">改變主意並撤回對收集其子女個人資料的同意。</string>
-    <string name="cpp_content_23">查看XPLORA Mobile AS/XPLORA TECHNOLOGIES AS收集的有關其子女的個人資料。</string>
-    <string name="cpp_content_24">請我們刪除XPLORA Mobile AS/XPLORA TECHNOLOGIES AS收集的有關其子女的個人資料。</string>
-    <string name="cpp_content_25">您可以透過發送電子郵件至support@xplora.com.我們可能需要從您收集一些數據,以確認您是父母或監護人。</string>
-    <string name="cpp_title_26">重要提示:</string>
-    <string name="cpp_content_26">我們需要收集您孩子的資料(如上所述)以提供相關產品或服務。如果您改變了同意或要求我們刪除您孩子的資料的想法,該產品或服務可能不再有效。</string>
-    <string name="settings_title_array_0">連接</string>
-    <string name="settings_title_array_1">鈴聲振動</string>
-    <string name="settings_title_array_2">顯示</string>
-    <string name="settings_title_array_3">照相機</string>
-    <string name="settings_title_array_4">時間格式</string>
-    <string name="settings_title_array_5">語言</string>
-    <string name="settings_title_array_6">QR 圖碼</string>
-    <string name="settings_title_array_7">存取點</string>
-    <string name="settings_title_array_8">更新</string>
-    <string name="settings_title_array_9">重新啟動</string>
-    <string name="settings_title_array_10">關機</string>
-    <string name="settings_title_array_11">診斷工具</string>
-    <string name="settings_title_array_12">關於手錶</string>
-    <string name="connections_title_array_0">藍牙</string>
-    <string name="connections_title_array_1">無線區域網路</string>
-    <string name="connections_title_array_2">資料漫遊</string>
-    <string name="connections_title_array_3">VoLTE</string>
-    <string name="display_title_array_0">亮度</string>
-    <string name="display_title_array_1">應用程式名稱</string>
-    <string name="display_title_array_2">錶盤</string>
-    <string name="display_title_array_3">螢幕睡眠</string>
-    <string name="soundmode_title_array_0">音量</string>
-    <string name="soundmode_title_array_1">振動</string>
-    <string name="soundmode_title_array_2">鈴聲</string>
-    <string name="volume_title_array_0">系統</string>
-    <string name="volume_title_array_1">媒體</string>
-    <string name="screen_time_value_array_0">5秒</string>
-    <string name="screen_time_value_array_1">10秒</string>
-    <string name="screen_time_value_array_2">30秒</string>
-    <string name="screen_time_value_array_3">1分钟</string>
-    <string name="screen_time_value_array_4">5分钟</string>
-    <string name="about_title_array_0">型号</string>
-    <string name="about_title_array_1">序列号</string>
-    <string name="about_title_array_2">版本</string>
-    <string name="about_title_array_3">监管信息</string>
-    <string name="camera_title_array_0">照片分辨率</string>
-    <string name="camera_title_array_1">視訊解析度</string>
-    <string name="apn_title_array_0">姓名</string>
-    <string name="apn_title_array_1">MCC</string>
-    <string name="apn_title_array_2">MNC</string>
-    <string name="apn_title_array_3">存取點</string>
-    <string name="apn_title_array_4">使用者名稱</string>
-    <string name="apn_title_array_5">密碼</string>
-    <string name="apn_title_array_6">代理商</string>
-    <string name="apn_title_array_7">連接埠</string>
-    <string name="apn_title_array_8">伺服器</string>
-    <string name="apn_title_array_9">MMSC</string>
-    <string name="apn_title_array_10">彩信代理</string>
-    <string name="apn_title_array_11">彩信代理端口</string>
-    <string name="apn_title_array_12">身份驗證類型</string>
-    <string name="apn_title_array_13">APN類型</string>
-    <string name="apn_title_array_14">APN協議</string>
-    <string name="apn_title_array_15">APN漫遊協議</string>
-    <string name="apn_title_array_16">Bearer</string>
-    <string name="apn_title_array_17">MVNO類型</string>
-    <string name="apn_title_array_18">MVNO值</string>
-    <string name="software_wifi_error_array_0">請先連接Wi-Fi</string>
-    <string name="software_wifi_error_array_1">請先開啟Wi-Fi</string>
-    <string name="timeformat_title_array_0">12小時</string>
-    <string name="timeformat_title_array_1">24小時</string>
-    <string name="sk_settings_title_array_0">飛行設定</string>
-    <string name="sk_settings_title_array_1">聲音與震動</string>
-    <string name="sk_settings_title_array_2">通話與網絡</string>
-    <string name="sk_settings_title_array_3">顯示與亮度</string>
-    <string name="sk_settings_title_array_4">系統設置</string>
-    <string name="sk_settings_title_array_5">語言設定</string>
-    <string name="sk_settings_title_array_6">設備二維碼</string>
-    <string name="sk_settings_title_array_7">PWS</string>
-    <string name="system_title_array_0">系统升级</string>
-    <string name="system_title_array_1">关于本机</string>
-    <string name="system_title_array_2">恢复出厂设置</string>
-    <string name="system_title_array_3">关机</string>
-    <string name="system_title_array_4">重启</string>
-</resources>

+ 4 - 2
app/src/main/res/values/strings.xml

@@ -35,6 +35,7 @@
     <string name="shut_down">Shut down</string>
     <string name="confirm_to_restart">Confirm to restart?</string>
     <string name="confirm_to_shut_down">Confirm to shut down?</string>
+    <string name="confirm_to_restore_factory">Confirm to restore factory Settings?</string>
     <string name="blackdoor_password_error">Wrong password!</string>
     <string name="source_announcement_1">The software included in this product contains copyrighted software that is licensed under the GPL.</string>
     <string name="source_announcement_2">If you would like to obtain the complete corresponding source code for a period of two years after the last shipment of this product by sending an email to support@xplora.com</string>
@@ -180,8 +181,8 @@
     <string name="sk_settings_title_array_5">语言设置</string>
     <string name="sk_settings_title_array_6">设备二维码</string>
     <string name="sk_settings_title_array_7">PWS</string>
-    <string name="sk_openclose_title_array_0">打开</string>
-    <string name="sk_openclose_title_array_1">关闭</string>
+    <string name="sk_openclose_title_array_0">关闭</string>
+    <string name="sk_openclose_title_array_1">打开</string>
     <string name="sk_connections_title_array_0">VoLTE</string>
     <string name="sk_connections_title_array_1">Mobile Data</string>
     <string name="sk_connections_title_array_2">Data Roaming</string>
@@ -190,5 +191,6 @@
     <string name="system_title_array_2">恢复出厂设置</string>
     <string name="system_title_array_3">关机</string>
     <string name="system_title_array_4">重启</string>
+    <string name="system_title_array_5">Diagnostic Tool</string>
 
 </resources>