Compare commits
	
		
			6 Commits
		
	
	
		
			contacts-v
			...
			contacts
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7e061d18bb | |||
|   | 0afe1de9bd | ||
|   | 98874bedc9 | ||
|   | 72cbe4f066 | ||
| b144d6d94c | |||
|   | da7329ffb3 | 
| @@ -18,13 +18,13 @@ def genVersionName(def versionName){ | ||||
| } | ||||
|  | ||||
| android { | ||||
|     compileSdkVersion 28 | ||||
|     buildToolsVersion "28.0.3" | ||||
|     compileSdkVersion 30 | ||||
|     buildToolsVersion "30.0.3" | ||||
|  | ||||
|     defaultConfig { | ||||
|         applicationId "cc.winboll.studio.contacts" | ||||
|         minSdkVersion 24 | ||||
|         targetSdkVersion 28 | ||||
|         targetSdkVersion 30 | ||||
|         versionCode 1 | ||||
|         // versionName 更新后需要手动设置  | ||||
|         // 项目模块目录的 build.gradle 文件的 stageCount=0 | ||||
| @@ -66,7 +66,7 @@ dependencies { | ||||
|     // 应用介绍页类库 | ||||
|     api 'io.github.medyo:android-about-page:2.0.0' | ||||
|     // 吐司类库 | ||||
|     api 'com.github.getActivity:ToastUtils:10.5' | ||||
|     //api 'com.github.getActivity:ToastUtils:10.5' | ||||
|     // 网络连接类库 | ||||
|     api 'com.squareup.okhttp3:okhttp:4.4.1' | ||||
|      | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| #Created by .winboll/winboll_app_build.gradle | ||||
| #Sat Oct 18 12:57:07 HKT 2025 | ||||
| stageCount=19 | ||||
| #Sat Oct 18 13:43:14 HKT 2025 | ||||
| stageCount=21 | ||||
| libraryProject= | ||||
| baseVersion=15.3 | ||||
| publishVersion=15.3.18 | ||||
| publishVersion=15.3.20 | ||||
| buildCount=0 | ||||
| baseBetaVersion=15.3.19 | ||||
| baseBetaVersion=15.3.21 | ||||
|   | ||||
| @@ -7,8 +7,8 @@ package cc.winboll.studio.contacts; | ||||
|  */ | ||||
| import android.view.Gravity; | ||||
| import cc.winboll.studio.libappbase.GlobalApplication; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
| import cc.winboll.studio.libappbase.winboll.WinBoLLActivityManager; | ||||
| import com.hjq.toast.ToastUtils; | ||||
|  | ||||
| public class App extends GlobalApplication { | ||||
|  | ||||
| @@ -30,7 +30,7 @@ public class App extends GlobalApplication { | ||||
|         // 设置 Toast 布局样式 | ||||
|         //ToastUtils.setView(R.layout.toast_custom_view); | ||||
|         //ToastUtils.setStyle(new WhiteToastStyle()); | ||||
|         ToastUtils.setGravity(Gravity.BOTTOM, 0, 200); | ||||
|         //ToastUtils.setGravity(Gravity.BOTTOM, 0, 200); | ||||
|          | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -36,8 +36,8 @@ import cc.winboll.studio.contacts.dun.Rules; | ||||
| import cc.winboll.studio.contacts.services.MainService; | ||||
| import cc.winboll.studio.contacts.views.DuInfoTextView; | ||||
| import cc.winboll.studio.libappbase.LogUtils; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
| import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity; | ||||
| import com.hjq.toast.ToastUtils; | ||||
| import java.lang.reflect.Field; | ||||
| import java.util.List; | ||||
|  | ||||
|   | ||||
| @@ -23,7 +23,7 @@ import cc.winboll.studio.contacts.R; | ||||
| import cc.winboll.studio.contacts.beans.CallLogModel; | ||||
| import cc.winboll.studio.contacts.utils.ContactUtils; | ||||
| import cc.winboll.studio.libaes.views.AOHPCTCSeekBar; | ||||
| import com.hjq.toast.ToastUtils; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
| import java.text.SimpleDateFormat; | ||||
| import java.util.List; | ||||
| import java.util.Locale; | ||||
|   | ||||
| @@ -21,10 +21,10 @@ import androidx.annotation.NonNull; | ||||
| import androidx.recyclerview.widget.RecyclerView; | ||||
| import cc.winboll.studio.contacts.R; | ||||
| import cc.winboll.studio.contacts.beans.ContactModel; | ||||
| import cc.winboll.studio.libaes.views.AOHPCTCSeekBar; | ||||
| import com.hjq.toast.ToastUtils; | ||||
| import java.util.List; | ||||
| import cc.winboll.studio.contacts.utils.ContactUtils; | ||||
| import cc.winboll.studio.libaes.views.AOHPCTCSeekBar; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
| import java.util.List; | ||||
|  | ||||
| public class ContactAdapter extends RecyclerView.Adapter<ContactAdapter.ContactViewHolder> { | ||||
|  | ||||
| @@ -71,7 +71,9 @@ public class ContactAdapter extends RecyclerView.Adapter<ContactAdapter.ContactV | ||||
| 									clipboard.setPrimaryClip(clip); | ||||
| 									Toast.makeText(mContext, "Copy to clipboard.", Toast.LENGTH_SHORT).show(); | ||||
| 								} else if (nItemId == R.id.item_calllog_phonenumber_edit_contact) { | ||||
| 									//ToastUtils.show("Test"); | ||||
| 									Long nContactId = ContactUtils.getContactIdByPhone(mContext, contact.getNumber()); | ||||
| 									//ToastUtils.show(String.format("%d", nContactId)); | ||||
| 									ContactUtils.jumpToEditContact(mContext, contact.getNumber(), nContactId); | ||||
| 								} | ||||
|  | ||||
|   | ||||
| @@ -7,7 +7,6 @@ package cc.winboll.studio.contacts.adapters; | ||||
|  */ | ||||
| import android.content.Context; | ||||
| import android.view.LayoutInflater; | ||||
| import android.view.MotionEvent; | ||||
| import android.view.View; | ||||
| import android.view.ViewGroup; | ||||
| import android.widget.Button; | ||||
| @@ -21,9 +20,8 @@ import cc.winboll.studio.contacts.R; | ||||
| import cc.winboll.studio.contacts.beans.PhoneConnectRuleModel; | ||||
| import cc.winboll.studio.contacts.dun.Rules; | ||||
| import cc.winboll.studio.contacts.views.LeftScrollView; | ||||
| import cc.winboll.studio.libappbase.LogUtils; | ||||
| import cc.winboll.studio.libappbase.dialogs.YesNoAlertDialog; | ||||
| import com.hjq.toast.ToastUtils; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
|   | ||||
| @@ -9,7 +9,7 @@ import android.content.Context; | ||||
| import cc.winboll.studio.contacts.R; | ||||
| import cc.winboll.studio.contacts.dun.Rules; | ||||
| import cc.winboll.studio.libappbase.LogUtils; | ||||
| import com.hjq.toast.ToastUtils; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
| import java.io.File; | ||||
| import java.io.FileFilter; | ||||
| import java.io.FileOutputStream; | ||||
|   | ||||
| @@ -31,7 +31,7 @@ import cc.winboll.studio.contacts.R; | ||||
| import cc.winboll.studio.contacts.adapters.ContactAdapter; | ||||
| import cc.winboll.studio.contacts.beans.ContactModel; | ||||
| import cc.winboll.studio.libappbase.LogUtils; | ||||
| import com.hjq.toast.ToastUtils; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
| import java.util.concurrent.ExecutorService; | ||||
| @@ -95,7 +95,7 @@ public class ContactsFragment extends Fragment { | ||||
|         recyclerView = (RecyclerView) view.findViewById(R.id.contacts_recycler_view); | ||||
|         recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); | ||||
|         contactList = new ArrayList<ContactModel>(); | ||||
|         contactAdapter = new ContactAdapter(getContext(), contactList); | ||||
|         contactAdapter = new ContactAdapter(getActivity(), contactList); | ||||
|         recyclerView.setAdapter(contactAdapter); | ||||
|         // 初始隐藏列表,数据加载后显示 | ||||
|         recyclerView.setVisibility(View.GONE); | ||||
|   | ||||
| @@ -14,7 +14,6 @@ import androidx.annotation.Nullable; | ||||
| import androidx.fragment.app.Fragment; | ||||
| import cc.winboll.studio.contacts.R; | ||||
| import cc.winboll.studio.libappbase.LogView; | ||||
| import com.hjq.toast.ToastUtils; | ||||
|  | ||||
| public class LogFragment extends Fragment { | ||||
|  | ||||
|   | ||||
| @@ -10,7 +10,7 @@ import android.content.Context; | ||||
| import android.content.Intent; | ||||
| import android.content.IntentFilter; | ||||
| import cc.winboll.studio.contacts.services.MainService; | ||||
| import com.hjq.toast.ToastUtils; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
| import java.lang.ref.WeakReference; | ||||
|  | ||||
| public class MainReceiver extends BroadcastReceiver { | ||||
|   | ||||
| @@ -13,6 +13,7 @@ import android.database.Cursor; | ||||
| import android.net.Uri; | ||||
| import android.provider.ContactsContract; | ||||
| import cc.winboll.studio.libappbase.LogUtils; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| @@ -136,7 +137,7 @@ public class ContactUtils { | ||||
| 		intent.putExtra(android.provider.ContactsContract.Intents.Insert.PHONE, phoneNumber); | ||||
| 		mContext.startActivity(intent); | ||||
| 	} | ||||
| 	 | ||||
|  | ||||
| 	/** | ||||
| 	 * 跳转至系统编辑联系人界面(适配小米等定制机型) | ||||
| 	 * @param context 上下文(Activity/Service/Fragment) | ||||
| @@ -153,9 +154,8 @@ public class ContactUtils { | ||||
| 			// 构建联系人的Uri(格式:content://contacts/people/[contactId],系统标准格式) | ||||
| 			Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactId); | ||||
| 			intent.setData(contactUri); | ||||
| 		}  | ||||
| 		// 场景B:未知ID,通过电话号码匹配(需系统支持号码匹配,小米机型兼容) | ||||
| 		else if (phoneNumber != null && !phoneNumber.isEmpty()) { | ||||
| 			//ToastUtils.show("1"); | ||||
| 		} else if (phoneNumber != null && !phoneNumber.isEmpty()) { | ||||
| 			// 方式1:小米等机型兼容的“通过号码定位联系人”参数(部分系统认此参数) | ||||
| 			//intent.putExtra(ContactsContract.Intents.Insert.PHONE_NUMBER, phoneNumber); | ||||
| 			// 方式2:补充系统标准的“数据Uri”,强化匹配(避免参数被定制系统忽略) | ||||
| @@ -173,15 +173,11 @@ public class ContactUtils { | ||||
| 		} | ||||
|  | ||||
| 		// 启动活动(加防护,避免无联系人应用崩溃) | ||||
| 		if (intent.resolveActivity(context.getPackageManager()) != null) { | ||||
| 			// 小米机型在Service/非Activity中调用,需加NEW_TASK标志,否则可能无法启动 | ||||
| 			intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||||
| 			context.startActivity(intent); | ||||
| 		} else { | ||||
| 			LogUtils.d(TAG, "编辑联系人失败:设备未安装联系人应用"); | ||||
| 		} | ||||
| 		// 小米机型在Service/非Activity中调用,需加NEW_TASK标志,否则可能无法启动 | ||||
| 		intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||||
| 		context.startActivity(intent); | ||||
| 	} | ||||
| 	 | ||||
|  | ||||
| 	/** | ||||
| 	 * 通过电话号码查询联系人ID(适配小米机型,解决编辑时匹配不稳定问题) | ||||
| 	 * @param context 上下文 | ||||
| @@ -215,5 +211,5 @@ public class ContactUtils { | ||||
| 		} | ||||
| 		return -1L; // 无匹配联系人 | ||||
| 	} | ||||
| 	 | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -13,9 +13,8 @@ import android.content.Context; | ||||
| import android.content.Intent; | ||||
| import android.widget.RemoteViews; | ||||
| import cc.winboll.studio.contacts.R; | ||||
| import cc.winboll.studio.contacts.threads.MainServiceThread; | ||||
| import cc.winboll.studio.libappbase.LogUtils; | ||||
| import com.hjq.toast.ToastUtils; | ||||
| import cc.winboll.studio.libappbase.utils.ToastUtils; | ||||
|  | ||||
| public class APPStatusWidget extends AppWidgetProvider { | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user