package com.example.livestreaming; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import com.example.livestreaming.databinding.ActivitySettingsPageBinding; import java.util.ArrayList; import java.util.List; public class SettingsPageActivity extends AppCompatActivity { public static final String EXTRA_PAGE = "extra_page"; public static final String PAGE_ACCOUNT_SECURITY = "account_security"; public static final String PAGE_PRIVACY = "privacy"; public static final String PAGE_NOTIFICATIONS = "notifications"; public static final String PAGE_CLEAR_CACHE = "clear_cache"; public static final String PAGE_HELP = "help"; public static final String PAGE_ABOUT = "about"; private ActivitySettingsPageBinding binding; public static void start(Context context, String page) { Intent intent = new Intent(context, SettingsPageActivity.class); intent.putExtra(EXTRA_PAGE, page); context.startActivity(intent); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivitySettingsPageBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); binding.backButton.setOnClickListener(v -> finish()); String page = getIntent() != null ? getIntent().getStringExtra(EXTRA_PAGE) : null; if (page == null) page = ""; String title = resolveTitle(page); binding.titleText.setText(title); MoreAdapter adapter = new MoreAdapter(item -> { if (item == null) return; if (item.getType() != MoreItem.Type.ROW) return; String t = item.getTitle() != null ? item.getTitle() : ""; Toast.makeText(this, "点击:" + t, Toast.LENGTH_SHORT).show(); }); binding.recyclerView.setLayoutManager(new LinearLayoutManager(this)); binding.recyclerView.setAdapter(adapter); adapter.submitList(buildItems(page)); } private String resolveTitle(String page) { switch (page) { case PAGE_ACCOUNT_SECURITY: return "账号与安全"; case PAGE_PRIVACY: return "隐私"; case PAGE_NOTIFICATIONS: return "通知"; case PAGE_CLEAR_CACHE: return "清理缓存"; case PAGE_HELP: return "帮助与反馈"; case PAGE_ABOUT: return "关于"; default: return "设置"; } } private List buildItems(String page) { List list = new ArrayList<>(); if (PAGE_ACCOUNT_SECURITY.equals(page)) { list.add(MoreItem.section("登录与账号")); list.add(MoreItem.row("修改密码", "设置登录密码", R.drawable.ic_person_24)); list.add(MoreItem.row("绑定手机号", "用于登录与找回", R.drawable.ic_people_24)); list.add(MoreItem.row("登录设备管理", "查看并管理已登录设备", R.drawable.ic_grid_24)); return list; } if (PAGE_PRIVACY.equals(page)) { list.add(MoreItem.section("权限与安全")); list.add(MoreItem.row("黑名单", "管理你屏蔽的用户", R.drawable.ic_people_24)); list.add(MoreItem.row("权限管理", "相机、麦克风、定位等", R.drawable.ic_mic_24)); list.add(MoreItem.row("隐私政策", "了解我们如何保护你的数据", R.drawable.ic_globe_24)); return list; } if (PAGE_NOTIFICATIONS.equals(page)) { list.add(MoreItem.section("消息提醒")); list.add(MoreItem.row("系统通知", "关注、评论、私信提醒", R.drawable.ic_notifications_24)); list.add(MoreItem.row("免打扰", "设置勿扰时段", R.drawable.ic_notifications_24)); return list; } if (PAGE_CLEAR_CACHE.equals(page)) { list.add(MoreItem.section("存储")); list.add(MoreItem.row("缓存大小", "点击清理缓存(演示)", R.drawable.ic_grid_24)); list.add(MoreItem.row("图片缓存", "清理封面/头像缓存", R.drawable.ic_palette_24)); return list; } if (PAGE_HELP.equals(page)) { list.add(MoreItem.section("帮助")); list.add(MoreItem.row("常见问题", "问题解答与使用指南", R.drawable.ic_chat_24)); list.add(MoreItem.row("意见反馈", "提交你的建议与问题", R.drawable.ic_chat_24)); list.add(MoreItem.row("联系客服", "在线客服(演示)", R.drawable.ic_chat_24)); return list; } if (PAGE_ABOUT.equals(page)) { list.add(MoreItem.section("应用信息")); list.add(MoreItem.row("版本", "Live Streaming 1.0", R.drawable.ic_menu_24)); list.add(MoreItem.row("用户协议", "服务条款与规则", R.drawable.ic_menu_24)); list.add(MoreItem.row("隐私政策", "隐私保护说明", R.drawable.ic_menu_24)); return list; } list.add(MoreItem.row("返回", "", R.drawable.ic_arrow_back_24)); return list; } }