view: Drop logic related to details

This has been moved to compose

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2025-06-30 12:44:26 +08:00
parent fe6c62851b
commit 2bb3bbec0c
26 changed files with 3 additions and 1743 deletions

View File

@@ -373,7 +373,7 @@ object NotificationUtil {
private fun getContentIntentForDetails(context: Context, packageName: String): PendingIntent { private fun getContentIntentForDetails(context: Context, packageName: String): PendingIntent {
return NavDeepLinkBuilder(context) return NavDeepLinkBuilder(context)
.setGraph(R.navigation.mobile_navigation) .setGraph(R.navigation.mobile_navigation)
.setDestination(R.id.appDetailsFragment) .setDestination(R.id.splashFragment)
.setComponentName(MainActivity::class.java) .setComponentName(MainActivity::class.java)
.setArguments(bundleOf("packageName" to packageName)) .setArguments(bundleOf("packageName" to packageName))
.createPendingIntent() .createPendingIntent()

View File

@@ -1,101 +0,0 @@
/*
* Aurora Store
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
*
* Aurora Store is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Aurora Store is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.aurora.store.view.custom.layouts
import android.content.Context
import android.util.AttributeSet
import android.widget.RelativeLayout
import androidx.annotation.ColorInt
import androidx.appcompat.widget.AppCompatImageView
import androidx.core.view.isVisible
import com.aurora.store.R
import com.aurora.store.databinding.ViewDevInfoBinding
class DevInfoLayout : RelativeLayout {
private lateinit var binding: ViewDevInfoBinding
val icon: AppCompatImageView get() = binding.img
var title: String
get() = binding.txtTitle.text.toString()
set(value) = setTxtTitle(value)
var subTitle: String?
get() = binding.txtSubtitle.text.toString()
set(value) = setTxtSubtitle(value)
@get:ColorInt
var titleColor: Int
get() = binding.txtTitle.currentTextColor
set(value) = binding.txtTitle.setTextColor(value)
@get:ColorInt
var subTitleColor: Int
get() = binding.txtSubtitle.currentTextColor
set(value) = binding.txtSubtitle.setTextColor(value)
constructor(context: Context) : super(context) {
init(context, null)
}
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
init(context, attrs)
}
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(
context,
attrs,
defStyleAttr
) {
init(context, attrs)
}
private fun init(context: Context, attrs: AttributeSet?) {
val view = inflate(context, R.layout.view_dev_info, this)
binding = ViewDevInfoBinding.bind(view)
val typedArray = context.obtainStyledAttributes(attrs, R.styleable.DevInfoLayout)
val icon = typedArray.getResourceId(
R.styleable.DevInfoLayout_imgIcon,
R.drawable.ic_map_marker
)
val textPrimary = typedArray.getString(R.styleable.DevInfoLayout_txtTitle)
val textSecondary = typedArray.getString(R.styleable.DevInfoLayout_txtSubtitle)
binding.img.setImageResource(icon)
binding.txtTitle.text = textPrimary
binding.txtSubtitle.text = textSecondary
typedArray.recycle()
}
private fun setTxtTitle(text: String?) {
binding.txtTitle.text = text
binding.txtTitle.isVisible = text != null
invalidate()
}
private fun setTxtSubtitle(text: String?) {
binding.txtSubtitle.text = text
binding.txtSubtitle.isVisible = text != null
invalidate()
}
}

View File

@@ -1,65 +0,0 @@
/*
* Aurora Store
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
*
* Aurora Store is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Aurora Store is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.aurora.store.view.epoxy.views.details
import android.content.Context
import android.util.AttributeSet
import coil3.load
import coil3.request.placeholder
import coil3.request.transformations
import coil3.transform.RoundedCornersTransformation
import com.airbnb.epoxy.CallbackProp
import com.airbnb.epoxy.ModelProp
import com.airbnb.epoxy.ModelView
import com.aurora.gplayapi.data.models.App
import com.aurora.store.R
import com.aurora.store.databinding.ViewAppDependentBinding
import com.aurora.store.view.epoxy.views.BaseModel
import com.aurora.store.view.epoxy.views.BaseView
@ModelView(
autoLayout = ModelView.Size.WRAP_WIDTH_WRAP_HEIGHT,
baseModelClass = BaseModel::class
)
class AppDependentView @JvmOverloads constructor(
context: Context?,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : BaseView<ViewAppDependentBinding>(context, attrs, defStyleAttr) {
@ModelProp
fun app(app: App) {
binding.txtName.text = app.displayName
binding.imgIcon.load(app.iconArtwork.url) {
placeholder(R.drawable.bg_placeholder)
transformations(RoundedCornersTransformation(32F))
}
}
@CallbackProp
fun click(onClickListener: OnClickListener?) {
binding.root.setOnClickListener(onClickListener)
}
@CallbackProp
fun longClick(onClickListener: OnLongClickListener?) {
binding.root.setOnLongClickListener(onClickListener)
}
}

View File

@@ -1,58 +0,0 @@
/*
* Aurora Store
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
*
* Aurora Store is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Aurora Store is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.aurora.store.view.epoxy.views.details
import android.content.Context
import android.util.AttributeSet
import coil3.load
import com.airbnb.epoxy.ModelProp
import com.airbnb.epoxy.ModelView
import com.aurora.gplayapi.data.models.details.Badge
import com.aurora.store.databinding.ViewBadgeBinding
import com.aurora.store.view.epoxy.views.BaseModel
import com.aurora.store.view.epoxy.views.BaseView
@ModelView(
autoLayout = ModelView.Size.WRAP_WIDTH_WRAP_HEIGHT,
baseModelClass = BaseModel::class
)
class BadgeView @JvmOverloads constructor(
context: Context?,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : BaseView<ViewBadgeBinding>(context, attrs, defStyleAttr) {
@ModelProp
fun badge(badge: Badge) {
if (badge.textMajor.isEmpty()) {
if (badge.textMinor.isEmpty()) {
binding.txt.text = badge.textDescription
} else {
binding.txt.text = badge.textMinor
}
} else {
binding.txt.text = badge.textMajor
}
badge.artwork?.let {
binding.img.load(it.url)
}
}
}

View File

@@ -1,61 +0,0 @@
/*
* Aurora Store
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
*
* Aurora Store is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Aurora Store is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.aurora.store.view.epoxy.views.details
import android.content.Context
import android.util.AttributeSet
import androidx.core.content.ContextCompat
import com.airbnb.epoxy.ModelProp
import com.airbnb.epoxy.ModelView
import com.airbnb.epoxy.OnViewRecycled
import com.aurora.store.R
import com.aurora.store.databinding.ViewInfoBinding
import com.aurora.store.view.epoxy.views.BaseModel
import com.aurora.store.view.epoxy.views.BaseView
@ModelView(
autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT,
baseModelClass = BaseModel::class
)
class InfoView @JvmOverloads constructor(
context: Context?,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : BaseView<ViewInfoBinding>(context, attrs, defStyleAttr) {
@ModelProp(options = [ModelProp.Option.IgnoreRequireHashCode])
fun badge(info: Map.Entry<String, String>) {
binding.txtTitle.text = when (info.key) {
"DOWNLOAD" -> ContextCompat.getString(context, R.string.app_info_downloads)
"UPDATED_ON" -> ContextCompat.getString(context, R.string.app_info_updated_on)
"REQUIRES" -> ContextCompat.getString(context, R.string.app_info_min_android)
"TARGET" -> ContextCompat.getString(context, R.string.app_info_target_android)
else -> info.key
}
binding.txtSubtitle.text = info.value
}
@OnViewRecycled
fun clear() {
binding.txtTitle.text = null
binding.txtSubtitle.text = null
}
}

View File

@@ -1,69 +0,0 @@
/*
* Aurora Store
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
*
* Aurora Store is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Aurora Store is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.aurora.store.view.epoxy.views.details
import android.content.Context
import android.util.AttributeSet
import androidx.core.text.HtmlCompat
import coil3.load
import coil3.request.placeholder
import com.airbnb.epoxy.ModelProp
import com.airbnb.epoxy.ModelView
import com.aurora.gplayapi.data.models.details.Badge
import com.aurora.store.R
import com.aurora.store.databinding.ViewMoreBadgeBinding
import com.aurora.store.view.epoxy.views.BaseModel
import com.aurora.store.view.epoxy.views.BaseView
@ModelView(
autoLayout = ModelView.Size.WRAP_WIDTH_WRAP_HEIGHT,
baseModelClass = BaseModel::class
)
class MoreBadgeView @JvmOverloads constructor(
context: Context?,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : BaseView<ViewMoreBadgeBinding>(context, attrs, defStyleAttr) {
@ModelProp
fun badge(badge: Badge) {
binding.line1.text = badge.textMajor
badge.textMinorHtml?.let {
if (it.isNotEmpty()) {
binding.line2.text = HtmlCompat.fromHtml(it, HtmlCompat.FROM_HTML_MODE_COMPACT)
} else {
binding.line2.text = badge.textMinor
}
}
badge.textDescription?.let {
if (it.isNotEmpty()) {
binding.line2.text = it
}
}
badge.artwork?.let {
binding.img.load(it.url) {
placeholder(R.drawable.ic_arrow_right)
}
}
}
}

View File

@@ -1,107 +0,0 @@
/*
* Aurora Store
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
*
* Aurora Store is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Aurora Store is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.aurora.store.view.ui.details
import android.os.Bundle
import android.view.View
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.StreamCluster
import com.aurora.store.AppStreamStash
import com.aurora.store.data.model.ViewState
import com.aurora.store.data.model.ViewState.Loading.getDataAs
import com.aurora.store.databinding.FragmentGenericWithToolbarBinding
import com.aurora.store.view.custom.recycler.EndlessRecyclerOnScrollListener
import com.aurora.store.view.epoxy.controller.GenericCarouselController
import com.aurora.store.view.epoxy.controller.SearchCarouselController
import com.aurora.store.view.ui.commons.BaseFragment
import com.aurora.store.viewmodel.search.SearchResultViewModel
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
class DevAppsFragment : BaseFragment<FragmentGenericWithToolbarBinding>(),
GenericCarouselController.Callbacks {
private val args: DevAppsFragmentArgs by navArgs()
private val viewModel: SearchResultViewModel by viewModels()
private val controller = SearchCarouselController(this)
private var query: String = ""
get() = "pub:${args.developerName}"
private var scrollListener: EndlessRecyclerOnScrollListener =
object : EndlessRecyclerOnScrollListener(visibleThreshold = 4) {
override fun onLoadMore(currentPage: Int) {
viewModel.observe(query)
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
with(binding) {
toolbar.apply {
title = args.developerName
setNavigationOnClickListener { findNavController().navigateUp() }
}
recycler.setController(controller)
recycler.addOnScrollListener(scrollListener)
}
with(viewModel) {
search(query)
liveData.observe(viewLifecycleOwner) {
when (it) {
is ViewState.Loading -> {
controller.setData(null)
}
is ViewState.Success<*> -> {
val stash = it.getDataAs<AppStreamStash>()
controller.setData(stash[query])
}
else -> {}
}
}
}
}
override fun onHeaderClicked(streamCluster: StreamCluster) {
openStreamBrowseFragment(streamCluster)
}
override fun onClusterScrolled(streamCluster: StreamCluster) {
viewModel.observeCluster(query, streamCluster)
}
override fun onAppClick(app: App) {
openDetailsFragment(app.packageName, app)
}
override fun onAppLongClick(app: App) {
}
}

View File

@@ -117,11 +117,7 @@ abstract class BaseFlavouredSplashFragment : BaseFragment<FragmentSplashBinding>
navigateToDefaultTab() navigateToDefaultTab()
} else { } else {
requireArguments().remove("packageName") requireArguments().remove("packageName")
findNavController().navigate( openDetailsFragment(packageName)
SplashFragmentDirections.actionSplashFragmentToAppDetailsFragment(
packageName
)
)
} }
} }
@@ -142,11 +138,7 @@ abstract class BaseFlavouredSplashFragment : BaseFragment<FragmentSplashBinding>
navigateToDefaultTab() navigateToDefaultTab()
} else { } else {
requireArguments().remove("packageName") requireArguments().remove("packageName")
findNavController().navigate( openDetailsFragment(packageName)
SplashFragmentDirections.actionSplashFragmentToAppDetailsFragment(
packageName
)
)
} }
} }

View File

@@ -1,113 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".view.ui.details.AppDetailsFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
app:menu="@menu/menu_details"
app:navigationIcon="@drawable/ic_arrow_back" />
<androidx.core.widget.NestedScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:fillViewport="true"
android:paddingBottom="@dimen/height_peek">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include
android:id="@+id/layout_details_app"
layout="@layout/layout_details_app" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:orientation="vertical"
android:showDividers="middle">
<include
android:id="@+id/layout_detail_description"
layout="@layout/layout_details_description" />
<include
android:id="@+id/layout_details_review"
layout="@layout/layout_details_review" />
<include
android:id="@+id/layout_details_beta"
layout="@layout/layout_details_beta" />
<com.airbnb.epoxy.EpoxyRecyclerView
android:id="@+id/epoxy_recycler_stream"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:orientation="vertical"
android:overScrollMode="never"
android:scrollbars="none"
app:itemSpacing="@dimen/margin_small"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/view_app" />
<include
android:id="@+id/layout_details_compatibility"
layout="@layout/layout_details_compatibility" />
<include
android:id="@+id/layout_details_permissions"
layout="@layout/layout_details_permissions" />
<include
android:id="@+id/layout_details_data_safety"
layout="@layout/layout_details_data_safety" />
<include
android:id="@+id/layout_details_privacy"
layout="@layout/layout_details_privacy" />
<include
android:id="@+id/layout_details_dev"
layout="@layout/layout_details_dev" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,130 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".view.ui.details.DetailsReviewFragment">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
app:navigationIcon="@drawable/ic_arrow_back" />
<HorizontalScrollView
android:id="@+id/sort_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<com.google.android.material.chip.ChipGroup
android:id="@+id/chip_group"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingStart="@dimen/margin_normal"
android:paddingEnd="@dimen/margin_normal"
app:checkedChip="@id/filter_review_all"
app:selectionRequired="true"
app:singleLine="true"
app:singleSelection="true">
<com.google.android.material.chip.Chip
android:id="@+id/filter_review_all"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/filter_review_all" />
<com.google.android.material.chip.Chip
android:id="@+id/filter_newest_first"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/filter_latest" />
<com.google.android.material.chip.Chip
android:id="@+id/filter_review_critical"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/filter_review_critical" />
<com.google.android.material.chip.Chip
android:id="@+id/filter_review_positive"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/filter_review_positive" />
<com.google.android.material.chip.Chip
android:id="@+id/filter_review_five"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/filter_review_five" />
<com.google.android.material.chip.Chip
android:id="@+id/filter_review_four"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/filter_review_four" />
<com.google.android.material.chip.Chip
android:id="@+id/filter_review_three"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/filter_review_three" />
<com.google.android.material.chip.Chip
android:id="@+id/filter_review_two"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/filter_review_two" />
<com.google.android.material.chip.Chip
android:id="@+id/filter_review_one"
style="@style/Widget.Material3.Chip.Filter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/filter_review_one" />
</com.google.android.material.chip.ChipGroup>
</HorizontalScrollView>
<com.airbnb.epoxy.EpoxyRecyclerView
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="true"
android:orientation="vertical"
android:overScrollMode="never"
android:paddingStart="@dimen/padding_normal"
android:paddingEnd="0dp"
android:scrollbars="none"
app:itemSpacing="@dimen/margin_normal"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/view_review" />
</LinearLayout>

View File

@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.airbnb.epoxy.EpoxyRecyclerView
android:id="@+id/epoxy_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_normal"
android:orientation="horizontal"
app:itemSpacing="@dimen/margin_small"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/view_screenshot" />
</RelativeLayout>

View File

@@ -1,132 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:paddingBottom="@dimen/padding_small">
<RelativeLayout
android:id="@+id/img_icon_layout"
android:layout_width="@dimen/icon_size_large"
android:layout_height="@dimen/icon_size_large">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/img_icon"
android:layout_width="@dimen/icon_size_large"
android:layout_height="@dimen/icon_size_large"
tools:src="@drawable/bg_placeholder" />
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id="@+id/progress_download"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:visibility="gone"
app:indicatorSize="@dimen/icon_size_large"
app:trackThickness="3dp"
tools:progress="40" />
</RelativeLayout>
<TextView
android:id="@+id/txt_line1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_small"
android:layout_toEndOf="@id/img_icon_layout"
android:maxLines="2"
android:textAppearance="@style/TextAppearance.Aurora.SubTitle"
tools:text="App Name" />
<TextView
android:id="@+id/txt_line2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txt_line1"
android:layout_alignStart="@id/txt_line1"
android:layout_alignEnd="@id/txt_line1"
android:textAppearance="@style/TextAppearance.Aurora.Line1"
android:textColor="?colorAccent"
tools:text="Company Name" />
<TextView
android:id="@+id/packageName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txt_line2"
android:layout_alignStart="@id/txt_line1"
android:layout_alignEnd="@id/txt_line1"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.Aurora.Line3"
tools:text="com.aurora.store" />
<TextView
android:id="@+id/txt_line3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/packageName"
android:layout_alignStart="@id/txt_line1"
android:layout_alignEnd="@id/txt_line1"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.Aurora.Line3"
tools:text="5.8" />
<TextView
android:id="@+id/txt_line4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txt_line3"
android:layout_alignStart="@id/txt_line1"
android:layout_alignEnd="@id/txt_line1"
android:textAppearance="@style/TextAppearance.Aurora.Line2"
tools:text="Free" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txt_line4"
android:layout_marginTop="@dimen/margin_medium"
android:divider="@drawable/divider"
android:orientation="horizontal"
android:showDividers="middle"
android:weightSum="2">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_secondary_action"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
tools:text="@string/title_manual_download" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_primary_action"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
tools:text="@string/action_install" />
</LinearLayout>
</RelativeLayout>

View File

@@ -1,70 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:orientation="vertical"
android:paddingStart="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:showDividers="middle"
android:visibility="gone"
tools:visibility="visible">
<com.aurora.store.view.custom.layouts.ActionHeaderLayout
android:id="@+id/header_rating_reviews"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:headerSubtitle="@string/details_beta_available"
app:headerTitle="@string/details_beta" />
<RelativeLayout
android:id="@+id/layout_user_review"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/img_beta"
android:layout_width="@dimen/icon_size_medium"
android:layout_height="@dimen/icon_size_medium" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_beta_subtitle"
style="@style/AuroraTextStyle.Line2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_small"
android:layout_toEndOf="@id/img_beta"
android:maxLines="5"
android:text="@string/details_beta_description" />
</RelativeLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_beta_Action"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/action_join"
app:cornerRadius="@dimen/radius_small" />
</LinearLayout>

View File

@@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:orientation="vertical"
android:paddingStart="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:showDividers="middle">
<com.aurora.store.view.custom.layouts.ActionHeaderLayout
android:id="@+id/header_compatibility"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:headerSubtitle="@string/plexus_powered"
app:headerTitle="@string/details_compatibility_title" />
<com.aurora.store.view.custom.layouts.DevInfoLayout
android:id="@+id/txt_gms_dependency"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:imgIcon="@drawable/ic_menu_about"
tools:txtSubtitle="@string/details_compatibility_gms_required_subtitle"
tools:txtTitle="@string/details_compatibility_gms_required_title" />
<LinearLayout
android:id="@+id/compatibility_status_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<com.aurora.store.view.custom.layouts.DevInfoLayout
android:id="@+id/txt_status_aosp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:imgIcon="@drawable/ic_android"
app:txtSubtitle="@string/plexus_progress"
app:txtTitle="@string/details_compatibility_no_gms" />
<com.aurora.store.view.custom.layouts.DevInfoLayout
android:id="@+id/txt_status_microG"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:imgIcon="@drawable/ic_android"
app:txtSubtitle="@string/plexus_progress"
app:txtTitle="@string/details_compatibility_microg" />
</LinearLayout>
</LinearLayout>

View File

@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:orientation="vertical"
android:paddingStart="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:showDividers="middle">
<com.aurora.store.view.custom.layouts.ActionHeaderLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:headerSubtitle="@string/details_data_safety_subtitle"
app:headerTitle="@string/details_data_safety_title" />
<com.aurora.store.view.custom.layouts.DevInfoLayout
android:id="@+id/data_collect"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:imgIcon="@drawable/ic_cloud_upload"
tools:txtSubtitle="Personal info, Financial info and 3 others"
tools:txtTitle="This app may collect these data types" />
<com.aurora.store.view.custom.layouts.DevInfoLayout
android:id="@+id/data_share"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:imgIcon="@drawable/ic_share"
tools:txtSubtitle="Learn more about how developers declare sharing"
tools:txtTitle="No data shared with third parties" />
</LinearLayout>

View File

@@ -1,135 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="true"
android:clipToPadding="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<com.google.android.material.chip.ChipGroup
android:id="@+id/layout_extras"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="@dimen/padding_medium"
android:paddingEnd="@dimen/padding_medium"
app:selectionRequired="false"
app:singleLine="true">
<com.google.android.material.chip.Chip
android:id="@+id/txt_rating"
style="@style/Chip.Tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipIcon="@drawable/ic_star"
tools:text="3.5" />
<com.google.android.material.chip.Chip
android:id="@+id/txt_installs"
style="@style/Chip.Tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipIcon="@drawable/ic_download_manager"
tools:text="2500" />
<com.google.android.material.chip.Chip
android:id="@+id/txt_size"
style="@style/Chip.Tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipIcon="@drawable/ic_apk_install"
tools:text="25 MB" />
<com.google.android.material.chip.Chip
android:id="@+id/txt_updated"
style="@style/Chip.Tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:chipIcon="@drawable/ic_updates"
tools:text="Jan 21 2020" />
</com.google.android.material.chip.ChipGroup>
</HorizontalScrollView>
<LinearLayout
android:id="@+id/layout_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:orientation="vertical"
android:paddingStart="@dimen/padding_medium"
android:paddingTop="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:showDividers="middle">
<com.aurora.store.view.custom.layouts.ActionHeaderLayout
android:id="@+id/header_changelog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true"
app:headerTitle="@string/details_changelog" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_changelog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_changelog"
android:textIsSelectable="true" />
<com.aurora.store.view.custom.layouts.ActionHeaderLayout
android:id="@+id/header_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true"
app:headerTitle="@string/details_more_about_app" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true" />
</LinearLayout>
<com.airbnb.epoxy.EpoxyRecyclerView
android:id="@+id/epoxy_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:orientation="horizontal"
android:padding="@dimen/padding_medium"
app:itemSpacing="@dimen/margin_small"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/view_screenshot" />
</LinearLayout>
</ScrollView>

View File

@@ -1,62 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:orientation="vertical"
android:paddingStart="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:showDividers="middle">
<com.aurora.store.view.custom.layouts.ActionHeaderLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:headerTitle="@string/details_dev_details" />
<com.aurora.store.view.custom.layouts.DevInfoLayout
android:id="@+id/dev_web"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:imgIcon="@drawable/ic_network"
app:txtTitle="@string/details_dev_website"
tools:visibility="visible" />
<com.aurora.store.view.custom.layouts.DevInfoLayout
android:id="@+id/dev_mail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:imgIcon="@drawable/ic_mail"
app:txtTitle="@string/details_dev_email"
tools:visibility="visible" />
<com.aurora.store.view.custom.layouts.DevInfoLayout
android:id="@+id/dev_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:imgIcon="@drawable/ic_person_location"
app:txtTitle="@string/details_dev_address"
tools:visibility="visible" />
</LinearLayout>

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:orientation="vertical"
android:paddingStart="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:showDividers="middle">
<com.aurora.store.view.custom.layouts.ActionHeaderLayout
android:id="@+id/header_permission"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:headerTitle="@string/details_permission"
tools:headerSubtitle="36 permissions" />
</LinearLayout>

View File

@@ -1,54 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/exodus_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:orientation="vertical"
android:paddingStart="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:showDividers="middle">
<com.aurora.store.view.custom.layouts.ActionHeaderLayout
android:id="@+id/header_privacy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:headerSubtitle="@string/exodus_powered"
app:headerTitle="@string/details_privacy" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/exodus_progress"
android:textAppearance="@style/TextAppearance.Aurora.Line1" />
<com.google.android.material.button.MaterialButton
style="@style/Widget.Material3.Button.TonalButton"
android:id="@+id/btn_request_analysis"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/action_request_analysis"
app:cornerRadius="@dimen/margin_small" />
</LinearLayout>

View File

@@ -1,160 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:orientation="vertical"
android:paddingStart="@dimen/padding_small"
android:paddingEnd="@dimen/padding_small"
android:showDividers="middle">
<com.aurora.store.view.custom.layouts.ActionHeaderLayout
android:id="@+id/header_rating_reviews"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:headerTitle="@string/details_ratings" />
<LinearLayout
android:id="@+id/layout_user_review"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
<RatingBar
android:id="@+id/user_stars"
style="@style/Widget.AppCompat.RatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:numStars="5"
android:scaleX=".75"
android:scaleY=".75"
android:stepSize="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@drawable/divider"
android:orientation="vertical"
android:showDividers="middle">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:hint="@string/details_ratings_title_hint"
android:inputType="text"
android:textAppearance="@style/TextAppearance.Aurora.Line2" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input_review"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:hint="@string/details_think_this_app"
android:inputType="textMultiLine"
android:textAppearance="@style/TextAppearance.Aurora.Line2" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_post_review"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/action_post"
app:cornerRadius="@dimen/radius_small" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:weightSum="4">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:orientation="vertical"
android:padding="@dimen/padding_small">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/average_rating"
style="@style/AuroraTextStyle.Rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:maxLines="1"
tools:text="4.5" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_review_count"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/average_rating"
android:layout_centerHorizontal="true"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.Aurora.Line3"
android:translationY="-8dp"
tools:text="512" />
</RelativeLayout>
<LinearLayout
android:id="@+id/avg_rating_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:divider="@drawable/divider"
android:orientation="vertical"
android:showDividers="middle" />
</LinearLayout>
<com.airbnb.epoxy.EpoxyRecyclerView
android:id="@+id/epoxy_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:overScrollMode="never"
android:scrollbars="none"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:itemCount="4"
tools:listitem="@layout/view_review" />
</LinearLayout>

View File

@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/padding_xxsmall">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/img_icon"
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/txt_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/img_icon"
android:layout_alignStart="@id/img_icon"
android:layout_alignEnd="@id/img_icon"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/margin_xsmall"
android:maxLines="2"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.Aurora.Line2"
android:textColor="?android:textColorPrimary"
tools:text="App Name" />
</RelativeLayout>

View File

@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="72dp"
android:padding="@dimen/padding_small">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/img"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
tools:src="@drawable/ic_apps" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt"
style="@style/AuroraTextStyle.Line2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/img"
android:layout_centerHorizontal="true"
android:layout_marginStart="@dimen/margin_xsmall"
android:layout_marginTop="@dimen/margin_xxsmall"
tools:text="Badge" />
</RelativeLayout>

View File

@@ -1,57 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/padding_xxsmall">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
app:tint="?colorAccent"
tools:src="@drawable/ic_download" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_normal"
android:layout_toEndOf="@id/img"
android:textAppearance="@style/TextAppearance.Aurora.Line1"
tools:text="Title" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txt_title"
android:layout_alignStart="@id/txt_title"
android:layout_alignEnd="@id/txt_title"
android:autoLink="all"
android:linksClickable="true"
android:textAppearance="@style/TextAppearance.Aurora.Line2"
android:textColorLink="?android:attr/textColorSecondary"
android:textIsSelectable="true"
tools:text="Subtitle" />
</RelativeLayout>

View File

@@ -1,49 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="@dimen/margin_small"
android:paddingBottom="@dimen/margin_small"
android:weightSum="2">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_column1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:maxLines="1"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.Aurora.Line2"
tools:text="Version" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/txt_column2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:maxLines="1"
android:textAlignment="viewEnd"
android:textAppearance="@style/TextAppearance.Aurora.Line2"
android:textColor="?android:attr/textColorPrimary"
tools:text="1.0" />
</LinearLayout>

View File

@@ -1,50 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Aurora Store
~ Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
~
~ Aurora Store is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 2 of the License, or
~ (at your option) any later version.
~
~ Aurora Store is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
~
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_favourite"
android:icon="@drawable/ic_favorite_unchecked"
android:title="@string/action_favourite"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_share"
android:icon="@drawable/ic_share"
android:title="@string/action_share"
app:showAsAction="ifRoom" />
<item
android:id="@+id/menu_download_manual"
android:title="@string/title_manual_download" />
<item
android:id="@+id/menu_app_settings"
android:title="@string/title_app_settings" />
<item
android:id="@+id/action_playstore"
android:title="@string/title_download_playstore" />
<item
android:id="@+id/action_home_screen"
android:title="@string/action_home_screen"
android:visible="false" />
</menu>

View File

@@ -191,14 +191,6 @@
android:name="cluster" android:name="cluster"
app:argType="com.aurora.gplayapi.data.models.StreamCluster" /> app:argType="com.aurora.gplayapi.data.models.StreamCluster" />
</fragment> </fragment>
<fragment
android:id="@+id/devAppsFragment"
android:name="com.aurora.store.view.ui.details.DevAppsFragment"
tools:layout="@layout/fragment_generic_with_toolbar">
<argument
android:name="developerName"
app:argType="string" />
</fragment>
<fragment <fragment
android:id="@+id/splashFragment" android:id="@+id/splashFragment"
android:name="com.aurora.store.view.ui.splash.SplashFragment" android:name="com.aurora.store.view.ui.splash.SplashFragment"