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