mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-17 23:47:02 +05:30
Merge #59
59: Reorganize classes based on Buffer's package structure r=msfjarvis a=msfjarvis Following the overview from [this post](https://buffer.com/resources/android-rethinking-package-structure/). I personally find myself agreeing with the reasoning behind these changes and can see the benefits. bors r+ Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
commit
bb8c07f232
16 changed files with 34 additions and 30 deletions
|
@ -13,7 +13,7 @@
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.MaterialComponents">
|
android:theme="@style/Theme.MaterialComponents">
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".ui.main.MainActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:theme="@style/Theme.MaterialComponents.NoActionBar">
|
android:theme="@style/Theme.MaterialComponents.NoActionBar">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.di
|
package dev.msfjarvis.lobsters.injection
|
||||||
|
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.Provides
|
import dagger.Provides
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.di
|
package dev.msfjarvis.lobsters.injection
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.room.Room
|
import androidx.room.Room
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.di
|
package dev.msfjarvis.lobsters.injection
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
|
@ -6,8 +6,8 @@ import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.android.components.ActivityComponent
|
import dagger.hilt.android.components.ActivityComponent
|
||||||
import dagger.hilt.android.qualifiers.ActivityContext
|
import dagger.hilt.android.qualifiers.ActivityContext
|
||||||
import dev.msfjarvis.lobsters.urllauncher.UrlLauncher
|
import dev.msfjarvis.lobsters.ui.urllauncher.UrlLauncher
|
||||||
import dev.msfjarvis.lobsters.urllauncher.UrlLauncherImpl
|
import dev.msfjarvis.lobsters.ui.urllauncher.UrlLauncherImpl
|
||||||
|
|
||||||
@InstallIn(ActivityComponent::class)
|
@InstallIn(ActivityComponent::class)
|
||||||
@Module
|
@Module
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters
|
package dev.msfjarvis.lobsters.ui.main
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
@ -21,14 +21,14 @@ import androidx.navigation.compose.currentBackStackEntryAsState
|
||||||
import androidx.navigation.compose.navigate
|
import androidx.navigation.compose.navigate
|
||||||
import androidx.navigation.compose.rememberNavController
|
import androidx.navigation.compose.rememberNavController
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import dev.msfjarvis.lobsters.compose.utils.IconResource
|
import dev.msfjarvis.lobsters.util.IconResource
|
||||||
import dev.msfjarvis.lobsters.data.LobstersViewModel
|
import dev.msfjarvis.lobsters.ui.viewmodel.LobstersViewModel
|
||||||
import dev.msfjarvis.lobsters.ui.Destination
|
import dev.msfjarvis.lobsters.ui.navigation.Destination
|
||||||
import dev.msfjarvis.lobsters.ui.HottestPosts
|
import dev.msfjarvis.lobsters.ui.posts.HottestPosts
|
||||||
import dev.msfjarvis.lobsters.ui.LobstersTheme
|
import dev.msfjarvis.lobsters.ui.theme.LobstersTheme
|
||||||
import dev.msfjarvis.lobsters.ui.SavedPosts
|
import dev.msfjarvis.lobsters.ui.posts.SavedPosts
|
||||||
import dev.msfjarvis.lobsters.urllauncher.UrlLauncher
|
import dev.msfjarvis.lobsters.ui.urllauncher.UrlLauncher
|
||||||
import dev.msfjarvis.lobsters.urllauncher.UrlLauncherAmbient
|
import dev.msfjarvis.lobsters.ui.urllauncher.UrlLauncherAmbient
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.ui
|
package dev.msfjarvis.lobsters.ui.navigation
|
||||||
|
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.ui
|
package dev.msfjarvis.lobsters.ui.posts
|
||||||
|
|
||||||
import androidx.compose.foundation.Text
|
import androidx.compose.foundation.Text
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
@ -11,7 +11,8 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import dev.msfjarvis.lobsters.R
|
import dev.msfjarvis.lobsters.R
|
||||||
import dev.msfjarvis.lobsters.compose.utils.IconResource
|
import dev.msfjarvis.lobsters.util.IconResource
|
||||||
|
import dev.msfjarvis.lobsters.ui.theme.savedTitleColor
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun EmptyList(saved: Boolean) {
|
fun EmptyList(saved: Boolean) {
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.ui
|
package dev.msfjarvis.lobsters.ui.posts
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.lazy.LazyColumnForIndexed
|
import androidx.compose.foundation.lazy.LazyColumnForIndexed
|
||||||
|
@ -7,7 +7,7 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import dev.msfjarvis.lobsters.model.LobstersPost
|
import dev.msfjarvis.lobsters.model.LobstersPost
|
||||||
import dev.msfjarvis.lobsters.urllauncher.UrlLauncherAmbient
|
import dev.msfjarvis.lobsters.ui.urllauncher.UrlLauncherAmbient
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun HottestPosts(
|
fun HottestPosts(
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.ui
|
package dev.msfjarvis.lobsters.ui.posts
|
||||||
|
|
||||||
import androidx.compose.foundation.Text
|
import androidx.compose.foundation.Text
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
|
@ -23,9 +23,12 @@ import androidx.compose.ui.unit.dp
|
||||||
import androidx.ui.tooling.preview.Preview
|
import androidx.ui.tooling.preview.Preview
|
||||||
import coil.transform.CircleCropTransformation
|
import coil.transform.CircleCropTransformation
|
||||||
import dev.chrisbanes.accompanist.coil.CoilImage
|
import dev.chrisbanes.accompanist.coil.CoilImage
|
||||||
import dev.msfjarvis.lobsters.di.ApiModule
|
import dev.msfjarvis.lobsters.injection.ApiModule
|
||||||
import dev.msfjarvis.lobsters.model.LobstersPost
|
import dev.msfjarvis.lobsters.model.LobstersPost
|
||||||
import dev.msfjarvis.lobsters.model.Submitter
|
import dev.msfjarvis.lobsters.model.Submitter
|
||||||
|
import dev.msfjarvis.lobsters.ui.theme.LobstersTheme
|
||||||
|
import dev.msfjarvis.lobsters.ui.theme.savedTitleColor
|
||||||
|
import dev.msfjarvis.lobsters.ui.theme.titleColor
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LazyItemScope.LobstersItem(
|
fun LazyItemScope.LobstersItem(
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.ui
|
package dev.msfjarvis.lobsters.ui.posts
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.lazy.LazyColumnFor
|
import androidx.compose.foundation.lazy.LazyColumnFor
|
||||||
|
@ -7,7 +7,7 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import dev.msfjarvis.lobsters.model.LobstersPost
|
import dev.msfjarvis.lobsters.model.LobstersPost
|
||||||
import dev.msfjarvis.lobsters.urllauncher.UrlLauncherAmbient
|
import dev.msfjarvis.lobsters.ui.urllauncher.UrlLauncherAmbient
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SavedPosts(
|
fun SavedPosts(
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.ui
|
package dev.msfjarvis.lobsters.ui.theme
|
||||||
|
|
||||||
import androidx.compose.material.MaterialTheme
|
import androidx.compose.material.MaterialTheme
|
||||||
import androidx.compose.material.darkColors
|
import androidx.compose.material.darkColors
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.urllauncher
|
package dev.msfjarvis.lobsters.ui.urllauncher
|
||||||
|
|
||||||
fun interface UrlLauncher {
|
fun interface UrlLauncher {
|
||||||
fun launch(url: String)
|
fun launch(url: String)
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.urllauncher
|
package dev.msfjarvis.lobsters.ui.urllauncher
|
||||||
|
|
||||||
import androidx.compose.runtime.ambientOf
|
import androidx.compose.runtime.ambientOf
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.urllauncher
|
package dev.msfjarvis.lobsters.ui.urllauncher
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.net.Uri
|
import android.net.Uri
|
|
@ -1,4 +1,4 @@
|
||||||
package dev.msfjarvis.lobsters.data
|
package dev.msfjarvis.lobsters.ui.viewmodel
|
||||||
|
|
||||||
import androidx.hilt.lifecycle.ViewModelInject
|
import androidx.hilt.lifecycle.ViewModelInject
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
|
@ -13,7 +13,7 @@
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.lobsters.compose.utils
|
package dev.msfjarvis.lobsters.util
|
||||||
|
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.compose.foundation.AmbientContentColor
|
import androidx.compose.foundation.AmbientContentColor
|
Loading…
Add table
Add a link
Reference in a new issue