1.动态只留一个发现

2.去掉真爱榜
3.隐藏第三方登录
4.一键登录
5.登陆
This commit is contained in:
2025-09-24 22:10:06 +08:00
parent a79e5268b5
commit aa26d9f9f5
51 changed files with 73 additions and 54 deletions

2
.idea/.name generated
View File

@@ -1 +1 @@
秘地
MY语聊

View File

@@ -13,12 +13,6 @@
</DropdownSelection>
<DialogSelection />
</SelectionState>
<SelectionState runConfigName="moduleactivity">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
<SelectionState runConfigName="muduleactivity">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates>
</component>
</project>

View File

@@ -148,8 +148,9 @@
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- com.xscm.action.LAUNCH_PAGE-->
<intent-filter>
<action android:name="com.xscm.action.LAUNCH_PAGE" />
<action android:name="com.jdf.action.LAUNCH_PAGE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

View File

@@ -366,7 +366,7 @@ public class PasswordLoginActivity extends BaseMvpActivity<LoginPresenter, Activ
//协议栏
.setAppPrivacyOne("《用户协议》", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl()+"/api/Page/page_show?id=6")
.setAppPrivacyTwo("《隐私协议》", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl()+"/api/Page/page_show?id=4")
.setAppPrivacyColor(Color.parseColor("#A8A8A8"), Color.parseColor("#FFBC00"))
.setAppPrivacyColor(Color.parseColor("#A8A8A8"), Color.parseColor("#FF8ACC"))
.setPrivacyBefore("登录即代表同意")
.setPrivacyEnd("并授权获得号码")
.setPrivacyTextSize(11)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 977 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@@ -87,7 +87,7 @@ public abstract class BaseAppCompatActivity<VDB extends ViewDataBinding> extends
private BroadcastReceiver mLogoutReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if ("com.xscm.moduleutil.ACTION_USER_LOGOUT".equals(intent.getAction())) {
if ("com.jdf.moduleutil.ACTION_USER_LOGOUT".equals(intent.getAction())) {
// 在这里处理用户登出后的UI更新
// 例如:隐藏需要登录才能显示的控件
// 或者跳转到登录状态的页面
@@ -131,7 +131,7 @@ public abstract class BaseAppCompatActivity<VDB extends ViewDataBinding> extends
ColorManager.getInstance().addColorChangeListener(this);
// 注册登出广播接收器
IntentFilter filter = new IntentFilter("com.xscm.moduleutil.ACTION_USER_LOGOUT");
IntentFilter filter = new IntentFilter("com.jdf.moduleutil.ACTION_USER_LOGOUT");
registerReceiver(mLogoutReceiver, filter);
// 动态判断是否包含 @Subscribe 注解的方法

View File

@@ -672,9 +672,9 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
SpUtil.setBooleanValue("youth_model_shown", false);
// 发送广播通知所有Activity刷新状态
Intent refreshIntent = new Intent("com.xscm.moduleutil.ACTION_USER_LOGOUT");
Intent refreshIntent = new Intent("com.jdf.moduleutil.ACTION_USER_LOGOUT");
sendBroadcast(refreshIntent);
Intent intent = new Intent("com.xscm.action.LAUNCH_PAGE");
Intent intent = new Intent("com.jdf.action.LAUNCH_PAGE");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
}

View File

@@ -18,7 +18,7 @@ import java.util.Map;
*/
public class ColorManager {
private static ColorManager instance;
private String primaryColor = "#6C49E4"; // 默认主题色
private String primaryColor = "#FC7285"; // 默认主题色
private String buttonColor = "#FFFFFF"; // 默认按钮色
// 监听器列表,用于通知颜色变化
@@ -71,7 +71,7 @@ public class ColorManager {
try {
return Color.parseColor(primaryColor);
} catch (Exception e) {
return Color.parseColor("#6C49E4"); // 默认颜色
return Color.parseColor("#FC7285"); // 默认颜色
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 626 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 730 B

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#BFBFBF"
<item android:color="#333333"
android:state_selected="false" />
<item android:color="#323232"
<item android:color="#FC7285"
android:state_selected="true"/>
</selector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1018 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 976 B

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1020 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 900 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 768 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 972 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 730 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 698 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 944 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 722 B

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 708 B

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -326,7 +326,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
index = 0;
isMediaSelected = true; // 确保设置为选中状态
selectedTextColor = ColorManager.getInstance().getPrimaryColorInt();
unselectedTextColor = Color.parseColor("#000000");
unselectedTextColor = Color.parseColor("#333333");
updateAllTabUI(); // 这会同时更新图标和文字颜色
}

View File

@@ -6,6 +6,7 @@ import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
@@ -40,6 +41,7 @@ import com.xscm.moduleutil.utils.SpUtil;
import java.util.List;
/**
* 音域--我的
*/
@@ -260,31 +262,51 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
SpUtil.setRealName(false);
}
LinearLayout llContainer = mBinding.llImageContainer;
llContainer.removeAllViews(); // 清空旧的 ImageView
List<String> images = data.getIcon(); // 获取图片列表
if (images != null && !images.isEmpty()) {
// 使用 ViewBinding 直接操作布局
LinearLayout llContainer = mBinding.llImageContainer;
llContainer.removeAllViews();
List<String> images = data.getIcon();
if (images == null || images.isEmpty()) {
return; // 提前返回,减少嵌套层级
}
// 获取尺寸资源,避免重复调用
Resources res = getContext().getResources();
int imageWidth = res.getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_42);
int imageHeight = res.getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_15);
int rightMargin = res.getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_5);
for (String url : images) {
if (url.contains("http")) {
if (!url.contains("http")) {
continue; // 跳过非HTTP链接
}
ImageView imageView = createImageView(url, imageWidth, imageHeight, rightMargin);
llContainer.addView(imageView);
}
}
/**
* 创建ImageView并设置相关参数
*/
private ImageView createImageView(String url, int width, int height, int rightMargin) {
ImageView imageView = new ImageView(getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_74),
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_17)
);
params.setMargins(0, 0, getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_5), 0); // 右边距
// 设置布局参数
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, height);
params.setMargins(0, 0, rightMargin, 0);
imageView.setLayoutParams(params);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
// 使用 Glide 加载图片
// 加载图片
ImageUtils.loadHeadCC(url, imageView);
llContainer.addView(imageView);
}
}
}
return imageView;
}
@Override

View File

@@ -15,12 +15,13 @@ import androidx.fragment.app.FragmentPagerAdapter;
*/
public class SectionsPagerAdapter extends FragmentPagerAdapter {
// @StringRes
// private static final int[] TAB_TITLES = new int[]{com.xscm.moduleutil.R.string.room_rank, com.xscm.moduleutil.R.string.wealth_rank,
// com.xscm.moduleutil.R.string.charm_rank, com.xscm.moduleutil.R.string.true_love_rank};
//// com.xscm.moduleutil.R.string.guild_rank, @StringRes
private static final int[] TAB_TITLES = new int[]{com.xscm.moduleutil.R.string.room_rank, com.xscm.moduleutil.R.string.wealth_rank,
com.xscm.moduleutil.R.string.charm_rank};
@StringRes
private static final int[] TAB_TITLES = new int[]{
com.xscm.moduleutil.R.string.room_rank,
com.xscm.moduleutil.R.string.wealth_rank,
com.xscm.moduleutil.R.string.charm_rank,
// com.xscm.moduleutil.R.string.true_love_rank
};
// com.xscm.moduleutil.R.string.guild_rank,
private final Context mContext;
@@ -45,6 +46,6 @@ public class SectionsPagerAdapter extends FragmentPagerAdapter {
@Override
public int getCount() {
// Show 2 total pages.
return 4;
return TAB_TITLES.length;
}
}

View File

@@ -8,6 +8,7 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;
@@ -297,11 +298,11 @@ public class VoiceCategoryFragment extends BaseMvpFragment<VoiceCategoryPresente
// 设置初始状态
if (position == 0) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
textView.setTextColor(getResources().getColor(android.R.color.white));
textView.setTextColor(Color.parseColor("#333333"));
customView.setBackgroundResource(com.xscm.moduleutil.R.drawable.tab_indicator);
} else {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
textView.setTextColor(Color.parseColor("#F1ECFF"));
textView.setTextColor(Color.parseColor("#666666"));
customView.setBackgroundResource(com.xscm.moduleutil.R.drawable.tab_unselected_background);
}
@@ -321,7 +322,7 @@ public class VoiceCategoryFragment extends BaseMvpFragment<VoiceCategoryPresente
TextView textView = customView.findViewById(R.id.tab_text);
if (textView != null) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
textView.setTextColor(getResources().getColor(android.R.color.white));
textView.setTextColor(Color.parseColor("#333333"));
}
customView.setBackgroundResource(com.xscm.moduleutil.R.drawable.tab_indicator);
}
@@ -340,7 +341,7 @@ public class VoiceCategoryFragment extends BaseMvpFragment<VoiceCategoryPresente
TextView textView = customView.findViewById(R.id.tab_text);
if (textView != null) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
textView.setTextColor(Color.parseColor("#F1ECFF"));
textView.setTextColor(Color.parseColor("#333333"));
}
customView.setBackgroundResource(com.xscm.moduleutil.R.drawable.tab_unselected_background);
}

View File

@@ -11,7 +11,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@mipmap/home_bj">
android:background="@mipmap/log_bj">
<RelativeLayout
android:layout_width="match_parent"

View File

@@ -104,8 +104,8 @@
android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_16"
app:tabIndicatorHeight="0dp"
app:tabSelectedTextColor="@color/white"
app:tabTextColor="#F1ECFF"
app:tabSelectedTextColor="#666666"
app:tabTextColor="#333333"
app:tabTextAppearance="@style/CustomTabTextAppearance"
app:tabIndicatorFullWidth="true"
app:tabMode="scrollable"/>