Skip to content

Commit a478a85

Browse files
authored
Merge pull request #688 from LoxiaLiSA/master
aa
2 parents 81a6c72 + ea43c2f commit a478a85

File tree

12 files changed

+72
-6
lines changed

12 files changed

+72
-6
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ android {
1515
applicationId "ceui.lisa.pixiv"
1616
minSdkVersion 21
1717
targetSdkVersion 34
18-
versionCode 330
19-
versionName "4.2.6"
18+
versionCode 500
19+
versionName "5.0.0"
2020
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2121

2222
javaCompileOptions {

app/src/main/java/ceui/lisa/activities/MainActivity.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package ceui.lisa.activities;
22

3+
import static android.provider.DocumentsContract.EXTRA_INITIAL_URI;
4+
35
import android.Manifest;
46
import android.annotation.SuppressLint;
57
import android.content.DialogInterface;
68
import android.content.Intent;
79
import android.graphics.Color;
810
import android.net.Uri;
11+
import android.os.Build;
912
import android.os.Bundle;
1013
import android.provider.MediaStore;
1114
import android.text.TextUtils;
@@ -21,13 +24,17 @@
2124
import androidx.core.view.GravityCompat;
2225
import androidx.drawerlayout.widget.DrawerLayout;
2326
import androidx.fragment.app.Fragment;
27+
import androidx.fragment.app.FragmentActivity;
2428
import androidx.fragment.app.FragmentPagerAdapter;
2529
import androidx.viewpager.widget.ViewPager;
2630

31+
import com.blankj.utilcode.util.AppUtils;
2732
import com.bumptech.glide.Glide;
2833
import com.google.android.material.bottomnavigation.BottomNavigationView;
2934
import com.google.android.material.navigation.NavigationView;
35+
import com.qmuiteam.qmui.skin.QMUISkinManager;
3036
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
37+
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
3138
import com.tbruyelle.rxpermissions3.RxPermissions;
3239

3340
import java.io.File;
@@ -225,7 +232,7 @@ protected void initData() {
225232
if (!SessionManager.INSTANCE.isLoggedIn()) {
226233
SessionManager.INSTANCE.updateSession(sUserModel);
227234
}
228-
if (BuildConfig.IS_DEBUG_MODE || true) {
235+
if (Shaft.getMMKV().getBoolean(SessionManager.USE_NEW_UI_KEY, false)) {
229236
startActivity(new Intent(this, HomeActivity.class));
230237
finish();
231238
} else {
@@ -323,6 +330,26 @@ public boolean onNavigationItemSelected(MenuItem item) {
323330
intent.putExtra(Params.URL, "https://www.pixiv.net/upload.php");
324331
intent.putExtra(Params.TITLE, getString(R.string.string_444));
325332
intent.putExtra(Params.PREFER_PRESERVE, true);
333+
} else if (id == R.id.nav_turn_on_v5) {
334+
FragmentActivity activity = this;
335+
new QMUIDialog.MessageDialogBuilder(activity)
336+
.setTitle(activity.getResources().getString(R.string.app_name))
337+
.setMessage(activity.getResources().getString(R.string.new_ui_desc))
338+
.setSkinManager(QMUISkinManager.defaultInstance(activity))
339+
.addAction(0, activity.getResources().getString(R.string.string_142),
340+
(dialog, index) -> dialog.dismiss())
341+
.addAction(0, activity.getResources().getString(R.string.use_new_ui),
342+
(dialog, index) -> {
343+
try {
344+
dialog.dismiss();
345+
Shaft.getMMKV().putBoolean(SessionManager.USE_NEW_UI_KEY, true);
346+
AppUtils.relaunchApp();
347+
} catch (Exception e) {
348+
Common.showToast(e.toString());
349+
e.printStackTrace();
350+
}
351+
})
352+
.show();
326353
}
327354
if (intent != null) {
328355
startActivity(intent);

app/src/main/java/ceui/pixiv/session/SessionManager.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import timber.log.Timber
2020
object SessionManager {
2121

2222
private const val USER_KEY = "LoggedInUserJsonKey"
23+
const val USE_NEW_UI_KEY = "use-v5-ui"
2324
const val COOKIE_KEY = "web-api-cookie"
2425
const val CONTENT_LANGUAGE_KEY = "content-language"
2526

app/src/main/java/ceui/pixiv/ui/common/ListMode.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ object ListMode {
66
const val VERTICAL = 1
77
const val VERTICAL_NO_MARGIN = 2
88
const val VERTICAL_COMMENT = 100
9+
const val VERTICAL_TABCELL = 101
910
const val STAGGERED_GRID = 3
1011
const val GRID = 4
1112
const val GRID_AND_SECTION_HEADER = 5

app/src/main/java/ceui/pixiv/ui/common/PixivFragment.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,12 @@ fun Fragment.setUpLayoutManager(listView: RecyclerView, listMode: Int = ListMode
349349
R.drawable.list_divider,
350350
marginLeft = 48.ppppx
351351
))
352+
} else if (listMode == ListMode.VERTICAL_TABCELL) {
353+
listView.layoutManager = LinearLayoutManager(requireContext())
354+
listView.addItemDecoration(BottomDividerDecoration(
355+
requireContext(),
356+
R.drawable.list_divider,
357+
))
352358
} else if (listMode == ListMode.VERTICAL_NO_MARGIN) {
353359
listView.layoutManager = LinearLayoutManager(ctx)
354360
} else if (listMode == ListMode.GRID) {

app/src/main/java/ceui/pixiv/ui/user/MineProfileFragment.kt

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ package ceui.pixiv.ui.user
33
import android.os.Bundle
44
import android.view.View
55
import ceui.lisa.R
6+
import ceui.lisa.activities.Shaft
67
import ceui.lisa.databinding.FragmentPixivListBinding
78
import ceui.loxia.Client
89
import ceui.loxia.ObjectPool
910
import ceui.loxia.User
11+
import ceui.loxia.launchSuspend
1012
import ceui.loxia.pushFragment
1113
import ceui.pixiv.session.SessionManager
1214
import ceui.pixiv.ui.common.CommonAdapter
@@ -19,6 +21,8 @@ import ceui.pixiv.ui.common.pixivValueViewModel
1921
import ceui.pixiv.ui.common.setUpRefreshState
2022
import ceui.pixiv.ui.common.viewBinding
2123
import ceui.pixiv.ui.novel.NovelSeriesFragmentArgs
24+
import ceui.pixiv.widgets.alertYesOrCancel
25+
import com.blankj.utilcode.util.AppUtils
2226

2327
class MineProfileFragment : PixivFragment(R.layout.fragment_pixiv_list) {
2428

@@ -38,7 +42,7 @@ class MineProfileFragment : PixivFragment(R.layout.fragment_pixiv_list) {
3842
super.onViewCreated(view, savedInstanceState)
3943
val adapter = CommonAdapter(viewLifecycleOwner)
4044
binding.listView.adapter = adapter
41-
setUpRefreshState(binding, viewModel, ListMode.VERTICAL_NO_MARGIN)
45+
setUpRefreshState(binding, viewModel, ListMode.VERTICAL_TABCELL)
4246
val liveUser = ObjectPool.get<User>(SessionManager.loggedInUid)
4347
liveUser.observe(viewLifecycleOwner) { user ->
4448
adapter.submitList(
@@ -79,7 +83,7 @@ class MineProfileFragment : PixivFragment(R.layout.fragment_pixiv_list) {
7983
UserFriendsFragmentArgs(SessionManager.loggedInUid).toBundle()
8084
)
8185
},
82-
TabCellHolder("屏蔽列表").onItemClick {
86+
TabCellHolder(getString(R.string.blocking_list)).onItemClick {
8387
pushFragment(
8488
R.id.navigation_blocking_item_list,
8589
)
@@ -94,6 +98,14 @@ class MineProfileFragment : PixivFragment(R.layout.fragment_pixiv_list) {
9498
R.id.navigation_settings,
9599
)
96100
},
101+
TabCellHolder(getString(R.string.turn_off_v5_ui)).onItemClick {
102+
launchSuspend {
103+
if (alertYesOrCancel(getString(R.string.alert_when_turn_off_v5_ui))) {
104+
Shaft.getMMKV().putBoolean(SessionManager.USE_NEW_UI_KEY, false)
105+
AppUtils.relaunchApp()
106+
}
107+
}
108+
},
97109
)
98110
)
99111
}
Loading
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
2+
3+
<path android:fillColor="@android:color/white" android:pathData="M19,9l1.25,-2.75L23,5l-2.75,-1.25L19,1l-1.25,2.75L15,5l2.75,1.25L19,9zM11.5,9.5L9,4 6.5,9.5 1,12l5.5,2.5L9,20l2.5,-5.5L17,12l-5.5,-2.5zM19,15l-1.25,2.75L15,19l2.75,1.25L19,23l1.25,-2.75L23,19l-2.75,-1.25L19,15z"/>
4+
5+
</vector>

app/src/main/res/layout/activity_home.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77

88
<ImageView
99
android:layout_width="match_parent"
10-
android:background="@color/page_default_background"
10+
android:src="@drawable/page_bg_img"
11+
android:scaleType="centerCrop"
1112
android:layout_height="match_parent"/>
1213

1314
<androidx.fragment.app.FragmentContainerView

app/src/main/res/layout/cell_tab.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<androidx.constraintlayout.widget.ConstraintLayout
1515
android:layout_width="match_parent"
1616
android:layout_height="wrap_content"
17+
android:minHeight="70dp"
1718
android:background="@drawable/cell_background"
1819
android:padding="20dp">
1920

@@ -26,6 +27,7 @@
2627
android:text="@{holder.title}"
2728
android:textColor="@color/text00"
2829
android:textSize="16sp"
30+
app:layout_constraintBottom_toTopOf="@+id/secondary_title"
2931
app:layout_constraintEnd_toStartOf="@+id/show_more"
3032
app:layout_constraintStart_toStartOf="parent"
3133
app:layout_constraintTop_toTopOf="parent" />

app/src/main/res/menu/activity_main_drawer.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@
2828
android:id="@+id/nav_manage"
2929
android:icon="@drawable/ic_baseline_settings_24"
3030
android:title="@string/app_settings" />
31+
32+
<item
33+
android:id="@+id/nav_turn_on_v5"
34+
android:icon="@drawable/baseline_auto_awesome_24"
35+
android:title="@string/turn_on_v5_ui" />
3136
</group>
3237

3338
<item android:title="@string/string_318">

app/src/main/res/values/strings.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,4 +738,10 @@
738738
<string name="novel_series">小说系列</string>
739739
<string name="total_works_count">系列中包含%1$d个作品</string>
740740
<string name="download_all_artworks">下载系列全部作品</string>
741+
<string name="turn_on_v5_ui">体验新版UI(公测中)</string>
742+
<string name="use_new_ui">体验新版</string>
743+
<string name="turn_off_v5_ui">切换为旧版UI</string>
744+
<string name="new_ui_desc">全新UI已经准备就绪,功能也接近移植完成,开始先行体验吧!!(新版暂未支持直连,需要自备梯子,可以自由切换回老版本)</string>
745+
<string name="alert_when_turn_off_v5_ui">确认切换为旧版UI吗</string>
746+
<string name="blocking_list">屏蔽列表</string>
741747
</resources>

0 commit comments

Comments
 (0)