From 91205a0b2a7639b6ff1b3dda0574b2552fbb03aa Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 27 Sep 2020 13:42:39 +0530 Subject: [PATCH 1/5] data: cleanup unused code Signed-off-by: Harsh Shandilya --- .../data/source/DateTimeTypeConverters.kt | 34 ------------------- .../data/source/LobstersApiTypeConverters.kt | 28 --------------- .../lobsters/data/source/PostsDatabase.kt | 2 -- 3 files changed, 64 deletions(-) delete mode 100644 data/src/main/java/dev/msfjarvis/lobsters/data/source/DateTimeTypeConverters.kt diff --git a/data/src/main/java/dev/msfjarvis/lobsters/data/source/DateTimeTypeConverters.kt b/data/src/main/java/dev/msfjarvis/lobsters/data/source/DateTimeTypeConverters.kt deleted file mode 100644 index 2f36e09d..00000000 --- a/data/src/main/java/dev/msfjarvis/lobsters/data/source/DateTimeTypeConverters.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package dev.msfjarvis.lobsters.data.source - -import androidx.room.TypeConverter -import java.time.LocalDateTime -import java.time.format.DateTimeFormatter - -object DateTimeTypeConverters { - @TypeConverter - @JvmStatic - fun toLocalDateTime(value: String?): LocalDateTime? { - return value?.let { LocalDateTime.parse(value) } - } - - @TypeConverter - @JvmStatic - fun fromLocalDateTime(value: LocalDateTime?): String? { - return value?.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) - } -} diff --git a/data/src/main/java/dev/msfjarvis/lobsters/data/source/LobstersApiTypeConverters.kt b/data/src/main/java/dev/msfjarvis/lobsters/data/source/LobstersApiTypeConverters.kt index 11dd1f9a..8a00c910 100644 --- a/data/src/main/java/dev/msfjarvis/lobsters/data/source/LobstersApiTypeConverters.kt +++ b/data/src/main/java/dev/msfjarvis/lobsters/data/source/LobstersApiTypeConverters.kt @@ -2,10 +2,6 @@ package dev.msfjarvis.lobsters.data.source import androidx.room.TypeConverter import com.squareup.moshi.Moshi -import dev.msfjarvis.lobsters.model.KeybaseSignature -import dev.msfjarvis.lobsters.model.KeybaseSignatureJsonAdapter -import dev.msfjarvis.lobsters.model.LobstersPost -import dev.msfjarvis.lobsters.model.LobstersPostJsonAdapter import dev.msfjarvis.lobsters.model.Submitter import dev.msfjarvis.lobsters.model.SubmitterJsonAdapter @@ -25,30 +21,6 @@ object LobstersApiTypeConverters { return value?.let { SubmitterJsonAdapter(moshi).toJson(value) } } - @TypeConverter - @JvmStatic - fun toKeybaseSignature(value: String?): KeybaseSignature? { - return value?.let { KeybaseSignatureJsonAdapter(moshi).fromJson(value) } - } - - @TypeConverter - @JvmStatic - fun fromKeybaseSignature(value: KeybaseSignature?): String? { - return value?.let { KeybaseSignatureJsonAdapter(moshi).toJson(value) } - } - - @TypeConverter - @JvmStatic - fun toLobstersPost(value: String?): LobstersPost? { - return value?.let { LobstersPostJsonAdapter(moshi).fromJson(value) } - } - - @TypeConverter - @JvmStatic - fun fromLobstersPost(value: LobstersPost?): String? { - return value?.let { LobstersPostJsonAdapter(moshi).toJson(value) } - } - @TypeConverter @JvmStatic fun toTagList(value: String?): List? { diff --git a/data/src/main/java/dev/msfjarvis/lobsters/data/source/PostsDatabase.kt b/data/src/main/java/dev/msfjarvis/lobsters/data/source/PostsDatabase.kt index cfe896a3..baaaeab1 100644 --- a/data/src/main/java/dev/msfjarvis/lobsters/data/source/PostsDatabase.kt +++ b/data/src/main/java/dev/msfjarvis/lobsters/data/source/PostsDatabase.kt @@ -4,7 +4,6 @@ import androidx.room.Database import androidx.room.RoomDatabase import androidx.room.TypeConverters import dev.msfjarvis.lobsters.data.model.LobstersEntity -import dev.msfjarvis.lobsters.model.LobstersPost @Database( entities = [ @@ -15,7 +14,6 @@ import dev.msfjarvis.lobsters.model.LobstersPost ) @TypeConverters( LobstersApiTypeConverters::class, - DateTimeTypeConverters::class, ) abstract class PostsDatabase : RoomDatabase() { abstract fun postsDao(): PostsDao From 52e010d79b7b47b455c63ee9873866f5dbc3415e Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 27 Sep 2020 14:00:26 +0530 Subject: [PATCH 2/5] app: remove unnecessary Column from LobstersItem Signed-off-by: Harsh Shandilya --- .../dev/msfjarvis/lobsters/ui/LobstersItem.kt | 49 +++++++++---------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt index d57ec967..63b3ec00 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt @@ -6,7 +6,6 @@ import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumnFor @@ -33,33 +32,31 @@ fun LazyItemScope.LobstersItem( .fillParentMaxWidth() .clickable(onClick = { onClick.invoke(post) }), text = { - Column { - Text( - text = post.title, - color = Color(0xFF7395D9), - fontWeight = FontWeight.Bold, - modifier = Modifier.padding(top = 4.dp) - ) - Row( - modifier = Modifier.padding(vertical = 8.dp), - horizontalArrangement = Arrangement.spacedBy(8.dp), - ) { - post.tags.forEach { tag -> - Text( - text = tag, - modifier = Modifier - .border(BorderStroke(1.dp, Color.Gray)) - .background(Color(0xFFFFFCD7), RoundedCornerShape(4.dp)) - .padding(vertical = 2.dp, horizontal = 4.dp), - color = Color.DarkGray, - ) - } + Text( + text = post.title, + color = Color(0xFF7395D9), + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(top = 4.dp) + ) + Row( + modifier = Modifier.padding(vertical = 8.dp), + horizontalArrangement = Arrangement.spacedBy(8.dp), + ) { + post.tags.forEach { tag -> + Text( + text = tag, + modifier = Modifier + .border(BorderStroke(1.dp, Color.Gray)) + .background(Color(0xFFFFFCD7), RoundedCornerShape(4.dp)) + .padding(vertical = 2.dp, horizontal = 4.dp), + color = Color.DarkGray, + ) } - Text( - text = "submitted by ${post.submitterUser.username}", - modifier = Modifier.padding(bottom = 4.dp), - ) } + Text( + text = "submitted by ${post.submitterUser.username}", + modifier = Modifier.padding(bottom = 4.dp), + ) } ) } From ac336efa33ff422c26bc2e976519db04d71ebf07 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 27 Sep 2020 14:08:41 +0530 Subject: [PATCH 3/5] app: restrict tags to just the first 4 Signed-off-by: Harsh Shandilya --- app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt index 63b3ec00..b1e7f895 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt @@ -42,7 +42,7 @@ fun LazyItemScope.LobstersItem( modifier = Modifier.padding(vertical = 8.dp), horizontalArrangement = Arrangement.spacedBy(8.dp), ) { - post.tags.forEach { tag -> + post.tags.take(4).forEach { tag -> Text( text = tag, modifier = Modifier From c21a2bf13a821223ca19d36788209faf12c07550 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 27 Sep 2020 14:14:12 +0530 Subject: [PATCH 4/5] app: add comment open action Signed-off-by: Harsh Shandilya --- .../main/java/dev/msfjarvis/lobsters/MainActivity.kt | 8 +++++--- .../java/dev/msfjarvis/lobsters/ui/LobstersItem.kt | 12 ++++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/dev/msfjarvis/lobsters/MainActivity.kt b/app/src/main/java/dev/msfjarvis/lobsters/MainActivity.kt index 4a37df84..03c66b3f 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/MainActivity.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/MainActivity.kt @@ -56,9 +56,11 @@ fun LobstersApp( if (lastIndex == index) { viewModel.getMorePosts() } - LobstersItem(item) { post -> - urlLauncher.launch(post.url) - } + LobstersItem( + item, + linkOpenAction = { post -> urlLauncher.launch(post.url) }, + commentOpenAction = { post -> urlLauncher.launch(post.commentsUrl) }, + ) } } ) diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt index b1e7f895..a539067e 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt @@ -25,12 +25,16 @@ import dev.msfjarvis.lobsters.model.Submitter fun LazyItemScope.LobstersItem( post: LobstersPost, modifier: Modifier = Modifier, - onClick: (LobstersPost) -> Unit, + linkOpenAction: (LobstersPost) -> Unit, + commentOpenAction: (LobstersPost) -> Unit, ) { ListItem( modifier = modifier.padding(horizontal = 8.dp) .fillParentMaxWidth() - .clickable(onClick = { onClick.invoke(post) }), + .clickable( + onClick = { linkOpenAction.invoke(post) }, + onLongClick = { commentOpenAction.invoke(post) } + ), text = { Text( text = post.title, @@ -92,7 +96,7 @@ fun PreviewLobstersItem() { ) LobstersTheme { LazyColumnFor(items = listOf(post)) { item -> - LobstersItem(post = item, onClick = {}) + LobstersItem(post = item, linkOpenAction = {}, commentOpenAction = {}) } } -} \ No newline at end of file +} From baddf7e763ba25ca37a969afbd058e3a49d069e2 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 27 Sep 2020 14:29:04 +0530 Subject: [PATCH 5/5] app: remove unused resources Signed-off-by: Harsh Shandilya --- app/src/main/AndroidManifest.xml | 4 ++-- app/src/main/res/values-night/themes.xml | 17 ---------------- app/src/main/res/values/colors.xml | 10 --------- app/src/main/res/values/themes.xml | 26 ------------------------ 4 files changed, 2 insertions(+), 55 deletions(-) delete mode 100644 app/src/main/res/values-night/themes.xml delete mode 100644 app/src/main/res/values/colors.xml delete mode 100644 app/src/main/res/values/themes.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 481835ee..7c07b007 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,11 +11,11 @@ android:label="@string/app_name" android:roundIcon="@drawable/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.Lobsters"> + android:theme="@style/Theme.MaterialComponents"> + android:theme="@style/Theme.MaterialComponents.NoActionBar"> diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml deleted file mode 100644 index e7c6378c..00000000 --- a/app/src/main/res/values-night/themes.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml deleted file mode 100644 index f8c6127d..00000000 --- a/app/src/main/res/values/colors.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - #FFBB86FC - #FF6200EE - #FF3700B3 - #FF03DAC5 - #FF018786 - #FF000000 - #FFFFFFFF - \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml deleted file mode 100644 index f7d48c38..00000000 --- a/app/src/main/res/values/themes.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - -