liuzhenxing 3 年之前
父節點
當前提交
a02d3965fa

+ 1 - 1
.idea/misc.xml

@@ -40,7 +40,7 @@
         <entry key="app/src/main/res/layout/item_title_edit.xml" value="0.16236068895643363" />
         <entry key="app/src/main/res/layout/item_title_subtitle.xml" value="0.1" />
         <entry key="app/src/main/res/layout/item_wifi_switch.xml" value="0.1" />
-        <entry key="app/src/main/res/layout/item_xpstyle.xml" value="0.20199275362318841" />
+        <entry key="app/src/main/res/layout/item_xpstyle.xml" value="0.16055045871559634" />
         <entry key="app/src/main/res/layout/view_cancel_sure.xml" value="0.1" />
         <entry key="app/src/main/res/layout/view_content.xml" value="0.19300911854103345" />
         <entry key="app/src/main/res/layout/view_empty.xml" value="0.1" />

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

@@ -1,10 +1,14 @@
 package com.xplora.xpsettings.Activity;
 
+import android.content.Context;
 import android.content.Intent;
+import android.net.wifi.WifiManager;
 import android.os.Bundle;
+import android.os.ParcelUuid;
 import android.widget.ListView;
 
 import com.xplora.xpsettings.Adapter.ConnectionsAdapter;
+import com.xplora.xpsettings.DataManager;
 import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.Utils.Constant;
@@ -16,11 +20,14 @@ import java.util.List;
 
 public class ConnectionsActivity extends BaseActivity {
 
+    public ConnectionsAdapter adapter;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_list);
         initData();
+        initValue();
         initView();
     }
 
@@ -29,13 +36,21 @@ public class ConnectionsActivity extends BaseActivity {
         for (int i = 0; i < stringList.length; i++) {
             BaseModel model = new BaseModel();
             model.title = stringList[i].trim();
-            model.isOn = true;
             mDataList.add(model);
         }
     }
 
+    public void initValue() {
+        WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
+        boolean isWifiOn = wifiManager.isWifiEnabled();
+        boolean isRoamingOn = DataManager.getDataRoamingType() == 1;
+
+        mDataList.get(1).isOn = isWifiOn;
+        mDataList.get(2).isOn = isRoamingOn;
+    }
+
     private void initView() {
-        ConnectionsAdapter adapter = new ConnectionsAdapter(ConnectionsActivity.this, R.layout.item_xpstyle, mDataList);
+        adapter = new ConnectionsAdapter(ConnectionsActivity.this, R.layout.item_xpstyle, mDataList);
         ListView listView = findViewById(R.id.activity_listview);
         listView.setAdapter(adapter);
 
@@ -44,19 +59,27 @@ public class ConnectionsActivity extends BaseActivity {
             switch (i) {
                 case 0:
                     intent = new Intent(ConnectionsActivity.this, BluetoothActivity.class);
-                    startActivity(intent);
+                    startActivityForResult(intent, 0);
                     break;
                 case 1:
                     intent = new Intent(ConnectionsActivity.this, WiFiActivity.class);
-                    startActivity(intent);
+                    startActivityForResult(intent, 0);
                     break;
                 case 2:
                     intent = new Intent(ConnectionsActivity.this, DataRoamingActivity.class);
-                    startActivity(intent);
+                    startActivityForResult(intent, 0);
                     break;
                 default:
                     break;
             }
         });
     }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        initValue();
+        adapter.setBaseObjects(mDataList);
+        adapter.notifyDataSetInvalidated();
+    }
 }

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

@@ -1,9 +1,15 @@
 package com.xplora.xpsettings.Activity;
 
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
 import android.widget.ListView;
 
+import androidx.annotation.NonNull;
+
 import com.xplora.xpsettings.Adapter.BaseListAdapter;
+import com.xplora.xpsettings.DataManager;
 import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.Utils.Constant;
@@ -24,16 +30,28 @@ public class DataRoamingActivity extends BaseActivity {
 
     private void initData() {
         String[] stringList = getResources().getStringArray(R.array.connections_title_array);
-
         BaseModel model = new BaseModel();
         model.title = stringList[2].trim();
+        model.isOn = DataManager.getDataRoamingType() == 1;
         model.cellType = Constant.CellType.SWITCH;
         mDataList.add(model);
     }
 
     private void initView() {
-        mAdapter = new BaseListAdapter(DataRoamingActivity.this, R.layout.item_xpstyle, mDataList);
+        mAdapter = new BaseListAdapter(DataRoamingActivity.this, R.layout.item_xpstyle, mDataList, mHandler);
         ListView listView = findViewById(R.id.activity_listview);
         listView.setAdapter(mAdapter);
     }
+
+    Handler mHandler = new Handler(Looper.myLooper()) {
+        @Override
+        public void handleMessage(@NonNull Message msg) {
+            super.handleMessage(msg);
+            if (msg.what == Constant.MSG_SWITCHC_CHANGE) {
+                int index = msg.arg1;
+                int isOn = msg.arg2;
+                DataManager.setDataRoamingType(isOn);
+            }
+        }
+    };
 }

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

@@ -19,15 +19,18 @@ import com.xplora.xpsettings.Model.BaseModel;
 import com.xplora.xpsettings.R;
 import com.xplora.xpsettings.Utils.ResUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 
 public class ConnectionsAdapter extends ArrayAdapter<BaseModel> {
     private final int resourceId;
     private Handler mHandler = null;
+    List<BaseModel> mBaseObjects = new ArrayList<>();
 
     public ConnectionsAdapter(Context context, int textViewResourceId, List<BaseModel> objects) {
         super(context, textViewResourceId, objects);
         resourceId = textViewResourceId;
+        mBaseObjects = objects;
     }
 
     @SuppressLint("InflateParams")
@@ -41,7 +44,7 @@ public class ConnectionsAdapter extends ArrayAdapter<BaseModel> {
         ImageView itemIcon = view.findViewById(R.id.item_icon);
 
 
-        BaseModel model = getItem(position); // 获取当前项的Fruit实例
+        BaseModel model = mBaseObjects.get(position);
         if (itemTitle != null) {
             itemTitle.setText(model.title);
         }
@@ -75,4 +78,8 @@ public class ConnectionsAdapter extends ArrayAdapter<BaseModel> {
         }
         return view;
     }
+
+    public void setBaseObjects(List objects) {
+        mBaseObjects = objects;
+    }
 }