diff --git a/app/build.gradle b/app/build.gradle
index 1fda244..65803d8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -15,8 +15,8 @@ android {
applicationId "com.xxpatx.os"
minSdkVersion 24
targetSdkVersion 29
- versionCode 1021
- versionName "1.2.0"
+ versionCode 1022
+ versionName "1.2.1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -118,7 +118,7 @@ android {
dependencies {
// implementation fileTree(dir: 'libs', include: ['*.jar'])
-// compileOnly files('libs/framework.jar')
+ compileOnly files('libs/framework.jar')
implementation files('libs/QWeather_Public_Android_V4.9.jar')
implementation project(path: ':niceimageview')
implementation project(path: ':verification-view')
diff --git a/app/libs/framework.jar b/app/libs/framework.jar
new file mode 100644
index 0000000..fefe7ec
Binary files /dev/null and b/app/libs/framework.jar differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 009472a..599cd28 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -220,6 +220,7 @@
() {
- @Override
- public void onChanged(Integer integer) {
- if (integer == 0) {
- if (WiFiUtils.getInstance().isNetworkConnected()) {
- Toaster.showLong("请先激活设备");
- startActivity(new Intent(MainActivity.this, ActivationActivity.class));
- }
- } else {
- Log.e("getActivationData", "onChanged: 已激活");
- }
- }
- });
-
- mViewModel.getSnIsActivation();
+// mViewModel.getActivationData().observe(this, new Observer() {
+// @Override
+// public void onChanged(Integer integer) {
+// if (integer == 0) {
+// if (WiFiUtils.getInstance().isNetworkConnected()) {
+// Toaster.showLong("请先激活设备");
+// startActivity(new Intent(MainActivity.this, ActivationActivity.class));
+// }
+// } else {
+// Log.e("getActivationData", "onChanged: 已激活");
+// }
+// }
+// });
+//
+// mViewModel.getSnIsActivation();
mViewModel.getAppInfoData().observe(this, new Observer() {
@Override
diff --git a/app/src/main/java/com/xxpatx/os/activity/selectnumber/SelectNumberActivity.java b/app/src/main/java/com/xxpatx/os/activity/selectnumber/SelectNumberActivity.java
index 4c945ec..9459eb6 100644
--- a/app/src/main/java/com/xxpatx/os/activity/selectnumber/SelectNumberActivity.java
+++ b/app/src/main/java/com/xxpatx/os/activity/selectnumber/SelectNumberActivity.java
@@ -1,17 +1,24 @@
package com.xxpatx.os.activity.selectnumber;
import android.content.Context;
+import android.content.Intent;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.text.TextUtils;
import android.util.Log;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.xxpatx.os.R;
+import com.xxpatx.os.adapter.PhoneAdapter;
import com.xxpatx.os.base.mvvm.BaseMvvmActivity;
import com.xxpatx.os.databinding.ActivitySelectNumberBinding;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -22,6 +29,7 @@ public class SelectNumberActivity extends BaseMvvmActivity subscriptionInfos = subscriptionManager.getActiveSubscriptionInfoList();
+ List stringList =new ArrayList<>();
for (SubscriptionInfo subscriptionInfo : subscriptionInfos) {
Log.e(TAG, "initData: id = " + subscriptionInfo.getSubscriptionId());
-// Log.e(TAG, "initData: mCardString = " + subscriptionInfo.getCardString());
-// Log.e(TAG, "initData: phone = " + mTelephonyManager.getLine1Number(subscriptionInfo.getSubscriptionId()));
+ Log.e(TAG, "initData: mCardString = " + subscriptionInfo.getCardString());
+ Log.e(TAG, "initData: phone = " + mTelephonyManager.getLine1Number(subscriptionInfo.getSubscriptionId()));
+ stringList.add(mTelephonyManager.getLine1Number(subscriptionInfo.getSubscriptionId()));
}
+ mPhoneAdapter.setPhoneList(stringList);
List phoneAccountHandleList = telecomManager.getCallCapablePhoneAccounts();
Map phoneAccountHandleMap = new HashMap<>();
for (PhoneAccountHandle phoneAccountHandle : phoneAccountHandleList) {
diff --git a/app/src/main/java/com/xxpatx/os/activity/setting/SettingActivity.java b/app/src/main/java/com/xxpatx/os/activity/setting/SettingActivity.java
index 871efc5..598a28f 100644
--- a/app/src/main/java/com/xxpatx/os/activity/setting/SettingActivity.java
+++ b/app/src/main/java/com/xxpatx/os/activity/setting/SettingActivity.java
@@ -100,7 +100,7 @@ public class SettingActivity extends BaseMvvmActivity {
+ private static final String TAG = "ContactAdapter";
private List mContactList;
private Context mContext;
@@ -68,7 +72,6 @@ public class ContactAdapter extends RecyclerView.Adapter {
+
+ //指定SIM卡拨打
+ public static final String[] DUAL_SIM_TYPES = {"subscription", "Subscription",
+ "com.android.phone.extra.slot",
+ "phone", "com.android.phone.DialingMode",
+ "simId", "simnum", "phone_type",
+ "simSlot"};
+
+ private Context mContext;
+ private List mPhoneList;
+ private String mPhone;
+
+ public void setPhoneList(List phoneList) {
+ mPhoneList = phoneList;
+ notifyDataSetChanged();
+ }
+
+ public void setPhone(String phone) {
+ mPhone = phone;
+ }
+
+ public interface OutCallback {
+ public void onCall();
+ }
+
+ private OutCallback mOutCallback;
+
+ public void setOutCallback(OutCallback outCallback) {
+ mOutCallback = outCallback;
+ }
+
+ @NonNull
+ @Override
+ public Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ mContext = parent.getContext();
+ return new Holder(LayoutInflater.from(mContext).inflate(R.layout.item_phone, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull Holder holder, int position) {
+ String phone = mPhoneList.get(position);
+ if (position == 0) {
+ holder.iv_card.setImageDrawable(mContext.getDrawable(R.drawable.sim_card_1));
+ } else if (position == 1) {
+ holder.iv_card.setImageDrawable(mContext.getDrawable(R.drawable.sim_card_2));
+ }
+ holder.tv_number.setText(phone);
+ holder.root.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent dialIntent = new Intent(Intent.ACTION_CALL);
+ Uri data = Uri.parse("tel:" + mPhone);
+ dialIntent.setData(data);
+ for (int i = 0; i < DUAL_SIM_TYPES.length; i++) {
+ //0代表卡1,1代表卡2
+ dialIntent.putExtra(DUAL_SIM_TYPES[i], position);
+ }
+ mContext.startActivity(dialIntent);
+ if (mOutCallback != null) {
+ mOutCallback.onCall();
+ }
+ }
+ });
+ }
+
+ @Override
+ public int getItemCount() {
+ return mPhoneList == null ? 0 : mPhoneList.size();
+ }
+
+ public class Holder extends RecyclerView.ViewHolder {
+ ConstraintLayout root;
+ TextView tv_sim, tv_number;
+ ImageView iv_card;
+
+ public Holder(@NonNull View itemView) {
+ super(itemView);
+ root = itemView.findViewById(R.id.root);
+ iv_card = itemView.findViewById(R.id.iv_card);
+ tv_sim = itemView.findViewById(R.id.tv_sim);
+ tv_number = itemView.findViewById(R.id.tv_number);
+ }
+ }
+}
diff --git a/app/src/main/java/com/xxpatx/os/config/CommonConfig.java b/app/src/main/java/com/xxpatx/os/config/CommonConfig.java
index d310f9f..fed9507 100644
--- a/app/src/main/java/com/xxpatx/os/config/CommonConfig.java
+++ b/app/src/main/java/com/xxpatx/os/config/CommonConfig.java
@@ -83,6 +83,7 @@ public class CommonConfig {
public static final String WECHAT_CALL_AUTO_ACCEPT = "wechat_call_auto_accept";
/*悬浮窗*/
public static final String FLOAT_WINDOW = "FloatWindowEnable";
+ public static final boolean FLOAT_WINDOW_STATU = false;
/*禁用音量键*/
public static final String DISABLE_VOLUME_KEY = "disable_volume_key";
/*修改联系人禁用*/
diff --git a/app/src/main/java/com/xxpatx/os/fragment/phone/dialer/DialerFragment.java b/app/src/main/java/com/xxpatx/os/fragment/phone/dialer/DialerFragment.java
index 467ae4a..0ca5d5a 100644
--- a/app/src/main/java/com/xxpatx/os/fragment/phone/dialer/DialerFragment.java
+++ b/app/src/main/java/com/xxpatx/os/fragment/phone/dialer/DialerFragment.java
@@ -94,9 +94,9 @@ public class DialerFragment extends BaseMvvmFragment
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_select_number.xml b/app/src/main/res/layout/activity_select_number.xml
index b44a5a5..e3fc401 100644
--- a/app/src/main/res/layout/activity_select_number.xml
+++ b/app/src/main/res/layout/activity_select_number.xml
@@ -10,12 +10,17 @@
+ android:layout_height="wrap_content">
-
+ android:layout_height="wrap_content"
+ android:background="@drawable/phone_background"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_phone.xml b/app/src/main/res/layout/item_phone.xml
new file mode 100644
index 0000000..59aaa33
--- /dev/null
+++ b/app/src/main/res/layout/item_phone.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file