刘振兴 il y a 3 ans
Parent
commit
a0a05daf6a

+ 2 - 2
.idea/deploymentTargetDropDown.xml

@@ -7,11 +7,11 @@
         <deviceKey>
           <Key>
             <type value="VIRTUAL_DEVICE_PATH" />
-            <value value="$USER_HOME$/.android/avd/xplora_watch_400.avd" />
+            <value value="$USER_HOME$/.android/avd/xp_watch_400_API_33.avd" />
           </Key>
         </deviceKey>
       </Target>
     </targetSelectedWithDropDown>
-    <timeTargetWasSelectedWithDropDown value="2022-06-23T07:18:09.885662Z" />
+    <timeTargetWasSelectedWithDropDown value="2022-06-25T22:54:37.286138Z" />
   </component>
 </project>

+ 0 - 1
.idea/gradle.xml

@@ -13,7 +13,6 @@
             <option value="$PROJECT_DIR$/app" />
           </set>
         </option>
-        <option name="resolveModulePerSourceSet" value="false" />
       </GradleProjectSettings>
     </option>
   </component>

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

@@ -7,7 +7,7 @@ import android.os.Bundle;
 import android.widget.ListView;
 
 import com.xplora.xpsettings.Adapter.ListAdapter;
-import com.xplora.xpsettings.Model.CellModel;
+import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.SettingApplication;
 
@@ -18,7 +18,7 @@ import java.util.List;
 public class AboutActivity extends BaseActivity {
     private int mDebugCount = 0;
 
-    private final List<CellModel> mData = new ArrayList<>();
+    private final List<BaseModel> mData = new ArrayList<>();
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -51,7 +51,7 @@ public class AboutActivity extends BaseActivity {
 
         String[] valueList = {name, Build.MODEL, btName, version, sn, bt, wifi, ""};
         for (int i = 0; i < stringList.length; i++) {
-            CellModel info = new CellModel();
+            BaseModel info = new BaseModel();
             info.title = stringList[i].trim();
             info.value = valueList[i];
             info.isShowArrow = i == stringList.length - 1;

+ 32 - 21
app/src/main/java/com/xplora/xpsettings/Activity/BluetoothActivity.java

@@ -7,16 +7,20 @@ import android.os.Looper;
 import android.os.Message;
 import android.widget.ListView;
 
+import com.xplora.xpsettings.Adapter.BluetoothAdapter;
 import com.xplora.xpsettings.Adapter.WiFiAdapter;
+import com.xplora.xpsettings.Model.BaseModel;
+import com.xplora.xpsettings.Model.BluetoothModel;
 import com.xplora.xpsettings.Model.WifiModel;
 import com.xplora.xpsettings.R;
+import com.xplora.xpsettings.Utils.Constant;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class BluetoothActivity extends BaseActivity {
-    private final List<WifiModel> mData = new ArrayList<>();
-    WiFiAdapter adapter;
+    private final List<BluetoothModel> mData = new ArrayList<>();
+    BluetoothAdapter adapter;
     ListView listView;
     private static final int REQUEST_LOGIN = 0;
     private static final int REQUEST_CONTROL = 1;
@@ -26,35 +30,42 @@ public class BluetoothActivity extends BaseActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.list_activity);
 
+        initData();
         initView();
     }
 
-    private void initView() {
-        //标题
-        setWatchTitle(getResources().getStringArray(R.array.settings_title_array)[0]);
+    private void initData() {
+        for (int i = 0; i < 10; i++) {
+            BluetoothModel model = new BluetoothModel();
+            model.title = "aaaa";
+            model.cellType = Constant.CellType.XPSTYLE;
+            mData.add(model);
+        }
+    }
 
+    private void initView() {
         //list
-        adapter = new WiFiAdapter(BluetoothActivity.this, 0, mData, handler);
+        adapter = new BluetoothAdapter(BluetoothActivity.this, 0, mData, handler);
         listView = findViewById(R.id.list_view);
         listView.setAdapter(adapter);
 
         listView.setOnItemClickListener((adapterView, view, i, l) -> {
-            WifiModel model = (WifiModel) adapterView.getAdapter().getItem(i);
+            BluetoothModel model = (BluetoothModel) adapterView.getAdapter().getItem(i);
             if (i != 0) {
-                if (model.status == WifiModel.STATUS.LOCKED) {
-                    Intent intent = new Intent(BluetoothActivity.this, WifiLoginActivity.class);
-                    intent.putExtra("ssid", model.title);
-                    intent.putExtra("bssid", model.BSSID);
-                    startActivityForResult(intent, REQUEST_LOGIN);
-                } else if (model.status == WifiModel.STATUS.OPEN) {
-                    //connect(model.title, model.BSSID, "");
-                } else if (model.status == WifiModel.STATUS.SAVED || model.status == WifiModel.STATUS.CONNECTED) {
-                    Intent intent = new Intent(BluetoothActivity.this, WiFiControlActivity.class);
-                    intent.putExtra("ssid", model.title);
-                    intent.putExtra("bssid", model.BSSID);
-                    intent.putExtra("status", model.status.ordinal());
-                    startActivityForResult(intent, REQUEST_CONTROL);
-                }
+//                if (model.status == WifiModel.STATUS.LOCKED) {
+//                    Intent intent = new Intent(BluetoothActivity.this, WifiLoginActivity.class);
+//                    intent.putExtra("ssid", model.title);
+//                    intent.putExtra("bssid", model.BSSID);
+//                    startActivityForResult(intent, REQUEST_LOGIN);
+//                } else if (model.status == WifiModel.STATUS.OPEN) {
+//                    //connect(model.title, model.BSSID, "");
+//                } else if (model.status == WifiModel.STATUS.SAVED || model.status == WifiModel.STATUS.CONNECTED) {
+//                    Intent intent = new Intent(BluetoothActivity.this, WiFiControlActivity.class);
+//                    intent.putExtra("ssid", model.title);
+//                    intent.putExtra("bssid", model.BSSID);
+//                    intent.putExtra("status", model.status.ordinal());
+//                    startActivityForResult(intent, REQUEST_CONTROL);
+//                }
             }
         });
     }

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

@@ -5,7 +5,7 @@ import android.os.Bundle;
 import android.widget.ListView;
 
 import com.xplora.xpsettings.Adapter.ConnectionsAdapter;
-import com.xplora.xpsettings.Model.CellModel;
+import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.Utils.Constant;
 import com.xplora.xpsettings.Utils.ResUtils;
@@ -15,7 +15,7 @@ import java.util.List;
 
 
 public class ConnectionsActivity extends BaseActivity {
-    private final List<CellModel> mData = new ArrayList<>();
+    private final List<BaseModel> mData = new ArrayList<>();
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -31,7 +31,7 @@ public class ConnectionsActivity extends BaseActivity {
     private void initData() {
         String[] stringList = getResources().getStringArray(R.array.connections_title_array);
         for (int i = 0; i < stringList.length; i++) {
-            CellModel model = new CellModel();
+            BaseModel model = new BaseModel();
             model.title = stringList[i].trim();
             model.isOn = true;
             mData.add(model);
@@ -48,7 +48,7 @@ public class ConnectionsActivity extends BaseActivity {
             Intent intent;
             switch (i) {
                 case 0:
-                    intent = new Intent(ConnectionsActivity.this, WiFiActivity.class);
+                    intent = new Intent(ConnectionsActivity.this, BluetoothActivity.class);
                     startActivity(intent);
                     break;
                 case 1:

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

@@ -4,7 +4,7 @@ import android.os.Bundle;
 import android.widget.ListView;
 
 import com.xplora.xpsettings.Adapter.BaseListAdapter;
-import com.xplora.xpsettings.Model.CellModel;
+import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.Utils.Constant;
 
@@ -12,7 +12,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class DataRoamingActivity extends BaseActivity {
-    private final List<CellModel> mData = new ArrayList<>();
+    private final List<BaseModel> mData = new ArrayList<>();
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -26,7 +26,7 @@ public class DataRoamingActivity extends BaseActivity {
     private void initData() {
         String[] stringList = getResources().getStringArray(R.array.connections_title_array);
 
-        CellModel model = new CellModel();
+        BaseModel model = new BaseModel();
         model.title = stringList[2].trim();
         model.cellType = Constant.CellType.SWITCH;
         mData.add(model);

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

@@ -6,7 +6,7 @@ import android.util.Log;
 import android.widget.ListView;
 
 import com.xplora.xpsettings.Adapter.ListAdapter;
-import com.xplora.xpsettings.Model.CellModel;
+import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.SettingApplication;
 
@@ -16,7 +16,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 
 public class ScreenTimeActivity extends BaseActivity {
-    private final List<CellModel> mData = new ArrayList<>();
+    private final List<BaseModel> mData = new ArrayList<>();
     private int lastValue;
     private int initValue;
     @Override
@@ -42,7 +42,7 @@ public class ScreenTimeActivity extends BaseActivity {
     private void initData() {
         String[] stringList = getResources().getStringArray(R.array.screen_time_value_array);
         for (String s : stringList) {
-            CellModel model = new CellModel();
+            BaseModel model = new BaseModel();
             model.title = s.trim();
             mData.add(model);
         }

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

@@ -5,7 +5,7 @@ import android.os.Bundle;
 import android.widget.ListView;
 
 import com.xplora.xpsettings.Adapter.BaseListAdapter;
-import com.xplora.xpsettings.Model.CellModel;
+import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.Utils.Constant;
 import com.xplora.xpsettings.Utils.ResUtils;
@@ -15,7 +15,7 @@ import java.util.List;
 
 
 public class SettingsActivity extends BaseActivity {
-    private final List<CellModel> mData = new ArrayList<>();
+    private final List<BaseModel> mData = new ArrayList<>();
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -31,7 +31,7 @@ public class SettingsActivity extends BaseActivity {
     private void initData() {
         String[] stringList = getResources().getStringArray(R.array.settings_title_array);
         for (int i = 0; i < stringList.length; i++) {
-            CellModel model = new CellModel();
+            BaseModel model = new BaseModel();
             model.title = stringList[i].trim();
             model.cellType = Constant.CellType.XPSTYLE;
             mData.add(model);

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

@@ -13,7 +13,7 @@ import android.util.Log;
 import android.widget.ListView;
 
 import com.xplora.xpsettings.Adapter.ListAdapter;
-import com.xplora.xpsettings.Model.CellModel;
+import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 
 import java.util.ArrayList;
@@ -21,7 +21,7 @@ import java.util.List;
 import java.util.Objects;
 
 public class TestToolsActivity extends BaseActivity {
-    private final List<CellModel> mData = new ArrayList<>();
+    private final List<BaseModel> mData = new ArrayList<>();
     private static final String CIT_PACKAGE_NAME = "com.zeusis.factorymode";
     private static final String CIT_ACTIVITY_NAME = "com.zeusis.factorymode.activity.LaunchActicvity";
     private static final String RUNNING_ACTIVITY_NAME = "com.zeusis.factorymode.modules.runin.RuninMainActivity";
@@ -46,7 +46,7 @@ public class TestToolsActivity extends BaseActivity {
     private void initData() {
         String[] stringList = getResources().getStringArray(R.array.test_tool);
         for (String s : stringList) {
-            CellModel model = new CellModel();
+            BaseModel model = new BaseModel();
             model.title = s.trim();
             model.value = "";
             model.isShowArrow = true;

+ 4 - 4
app/src/main/java/com/xplora/xpsettings/Adapter/BaseListAdapter.java

@@ -14,25 +14,25 @@ import android.widget.TextView;
 
 import com.xplora.xpsettings.Activity.TestToolsActivity;
 import com.xplora.xpsettings.Activity.WiFiActivity;
-import com.xplora.xpsettings.Model.CellModel;
+import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.Utils.Constant;
 import com.xplora.xpsettings.Utils.ResUtils;
 
 import java.util.List;
 
-public class BaseListAdapter extends ArrayAdapter<CellModel> {
+public class BaseListAdapter extends ArrayAdapter<BaseModel> {
     private int selectedItem = -1;
     private Handler mHandler = null;
 
-    public BaseListAdapter(Context context, int textViewResourceId, List<CellModel> objects) {
+    public BaseListAdapter(Context context, int textViewResourceId, List<BaseModel> objects) {
         super(context, textViewResourceId, objects);
     }
 
     @SuppressLint("InflateParams")
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
-        CellModel model = getItem(position); // 获取当前项的Fruit实例
+        BaseModel model = getItem(position); // 获取当前项的Fruit实例
 
         View view = null;
         if (model.cellType == Constant.CellType.XPSTYLE) {

+ 91 - 0
app/src/main/java/com/xplora/xpsettings/Adapter/BluetoothAdapter.java

@@ -0,0 +1,91 @@
+package com.xplora.xpsettings.Adapter;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Message;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.animation.Animation;
+import android.view.animation.LinearInterpolator;
+import android.view.animation.RotateAnimation;
+import android.widget.ArrayAdapter;
+import android.widget.ImageView;
+import android.widget.Switch;
+import android.widget.TextView;
+
+import com.xplora.xpsettings.Activity.WiFiActivity;
+import com.xplora.xpsettings.Model.BluetoothModel;
+import com.xplora.xpsettings.Model.WifiModel;
+import com.xplora.xpsettings.R;
+
+import java.util.List;
+
+public class BluetoothAdapter extends ArrayAdapter<BluetoothModel> {
+
+    Handler mHandler;
+    Animation animation = null;
+
+    public BluetoothAdapter(Context context, int textViewResourceId, List<BluetoothModel> objects, Handler handler) {
+        super(context, textViewResourceId, objects);
+        mHandler = handler;
+    }
+
+    @SuppressLint("InflateParams")
+    @Override
+    public View getView(int position, View convertView, ViewGroup parent) {
+        View view;
+        BluetoothModel model = getItem(position); // 获取当前项的Fruit实例
+        if (position == 0) {
+            view = LayoutInflater.from(getContext()).inflate(R.layout.item_switch, null);
+            Switch itemSwitch = view.findViewById(R.id.item_switch);
+            itemSwitch.setChecked(model.isOn);
+
+            itemSwitch.setOnCheckedChangeListener((compoundButton, b) -> {
+                        Message message = new Message();
+                        message.what = WiFiActivity.MSG_SWITCH_CHANGE;
+                        message.obj = b ? 1 : 0;
+                        mHandler.sendMessage(message);
+                    }
+            );
+        } else {
+            view = LayoutInflater.from(getContext()).inflate(R.layout.item_title, null);
+            ImageView itemArrow = view.findViewById(R.id.item_arrow);
+            itemArrow.setVisibility(model.isShowArrow ? View.VISIBLE : View.GONE);
+
+            if(animation != null) {
+                itemArrow.clearAnimation();
+                animation = null;
+            }
+            switch (model.status) {
+                case CONNECTED:
+                    itemArrow.setImageResource(R.drawable.ic_checked);
+                    break;
+                case LOCKED:
+                    itemArrow.setImageResource(R.drawable.ic_wifi_locked);
+                    break;
+                case CONNECTING:
+                    itemArrow.setImageResource(R.drawable.ic_syncing);
+                    if (animation == null) {
+                        animation = new RotateAnimation(0f, 360f,
+                                Animation.RELATIVE_TO_SELF, 0.5f,
+                                Animation.RELATIVE_TO_SELF, 0.5f);
+                        animation.setDuration(1000);
+                        animation.setRepeatCount(-1);
+                        animation.setInterpolator(new LinearInterpolator());
+                    }
+                    itemArrow.startAnimation(animation);
+                    break;
+                default:
+                    itemArrow.setImageResource(R.drawable.icon_arrow);
+                    break;
+
+            }
+        }
+        TextView itemTitle = view.findViewById(R.id.item_title);
+        itemTitle.setText(model.title);
+
+        return view;
+    }
+}

+ 4 - 4
app/src/main/java/com/xplora/xpsettings/Adapter/ConnectionsAdapter.java

@@ -15,17 +15,17 @@ import android.widget.TextView;
 
 import com.xplora.xpsettings.Activity.TestToolsActivity;
 import com.xplora.xpsettings.Activity.WiFiActivity;
-import com.xplora.xpsettings.Model.CellModel;
+import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.Utils.ResUtils;
 
 import java.util.List;
 
-public class ConnectionsAdapter extends ArrayAdapter<CellModel> {
+public class ConnectionsAdapter extends ArrayAdapter<BaseModel> {
     private final int resourceId;
     private Handler mHandler = null;
 
-    public ConnectionsAdapter(Context context, int textViewResourceId, List<CellModel> objects) {
+    public ConnectionsAdapter(Context context, int textViewResourceId, List<BaseModel> objects) {
         super(context, textViewResourceId, objects);
         resourceId = textViewResourceId;
     }
@@ -41,7 +41,7 @@ public class ConnectionsAdapter extends ArrayAdapter<CellModel> {
         ImageView itemIcon = view.findViewById(R.id.item_icon);
 
 
-        CellModel model = getItem(position); // 获取当前项的Fruit实例
+        BaseModel model = getItem(position); // 获取当前项的Fruit实例
         if (itemTitle != null) {
             itemTitle.setText(model.title);
         }

+ 5 - 5
app/src/main/java/com/xplora/xpsettings/Adapter/ListAdapter.java

@@ -14,22 +14,22 @@ import android.widget.TextView;
 
 import com.xplora.xpsettings.Activity.TestToolsActivity;
 import com.xplora.xpsettings.Activity.WiFiActivity;
-import com.xplora.xpsettings.Model.CellModel;
+import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 
 import java.util.List;
 
-public class ListAdapter extends ArrayAdapter<CellModel> {
+public class ListAdapter extends ArrayAdapter<BaseModel> {
     private final int resourceId;
     private int selectedItem = -1;
     private Handler mHandler = null;
 
-    public ListAdapter(Context context, int textViewResourceId, List<CellModel> objects) {
+    public ListAdapter(Context context, int textViewResourceId, List<BaseModel> objects) {
         super(context, textViewResourceId, objects);
         resourceId = textViewResourceId;
     }
 
-    public ListAdapter(Context context, int textViewResourceId, List<CellModel> objects, Handler handler) {
+    public ListAdapter(Context context, int textViewResourceId, List<BaseModel> objects, Handler handler) {
         super(context, textViewResourceId, objects);
         resourceId = textViewResourceId;
         mHandler = handler;
@@ -39,7 +39,7 @@ public class ListAdapter extends ArrayAdapter<CellModel> {
     @SuppressLint("InflateParams")
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
-        CellModel model = getItem(position); // 获取当前项的Fruit实例
+        BaseModel model = getItem(position); // 获取当前项的Fruit实例
         View view;
         if (mHandler != null && model.title.equals("loggable")) {
             view = LayoutInflater.from(getContext()).inflate(R.layout.item_switch, null);

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Model/CellModel.java → app/src/main/java/com/xplora/xpsettings/Model/BaseModel.java

@@ -2,7 +2,7 @@ package com.xplora.xpsettings.Model;
 
 import com.xplora.xpsettings.Utils.Constant;
 
-public class CellModel {
+public class BaseModel {
     public String title = "";
     public int background = 0;
     public int icon = 0;

+ 14 - 0
app/src/main/java/com/xplora/xpsettings/Model/BluetoothModel.java

@@ -0,0 +1,14 @@
+package com.xplora.xpsettings.Model;
+
+public class BluetoothModel extends BaseModel{
+    public enum STATUS {
+        NA,
+        CONNECTED,
+        CONNECTING,
+        LOCKED,
+        OPEN,
+        SAVED
+    }
+    public WifiModel.STATUS status = WifiModel.STATUS.NA;
+    public String BSSID = "";
+}

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Model/WifiModel.java

@@ -1,6 +1,6 @@
 package com.xplora.xpsettings.Model;
 
-public class WifiModel extends CellModel{
+public class WifiModel extends BaseModel{
     public enum STATUS {
         NA,
         CONNECTED,