For issue #8520: Polish Add-on manager UIs
This commit is contained in:
parent
1a2b65d854
commit
804eb0f5ba
|
@ -70,7 +70,7 @@ class AddonDetailsFragment : Fragment(R.layout.fragment_add_on_details) {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun bindWebsite(addon: Addon, view: View) {
|
private fun bindWebsite(addon: Addon, view: View) {
|
||||||
view.home_page_text.setOnClickListener {
|
view.home_page_label.setOnClickListener {
|
||||||
val intent =
|
val intent =
|
||||||
Intent(Intent.ACTION_VIEW).setData(Uri.parse(addon.siteUrl))
|
Intent(Intent.ACTION_VIEW).setData(Uri.parse(addon.siteUrl))
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
|
|
|
@ -18,6 +18,7 @@ import mozilla.components.feature.addons.ui.AddonPermissionsAdapter
|
||||||
import mozilla.components.feature.addons.ui.translate
|
import mozilla.components.feature.addons.ui.translate
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.ext.showToolbar
|
import org.mozilla.fenix.ext.showToolbar
|
||||||
|
import org.mozilla.fenix.theme.ThemeManager
|
||||||
|
|
||||||
private const val LEARN_MORE_URL =
|
private const val LEARN_MORE_URL =
|
||||||
"https://support.mozilla.org/kb/permission-request-messages-firefox-extensions"
|
"https://support.mozilla.org/kb/permission-request-messages-firefox-extensions"
|
||||||
|
@ -44,7 +45,12 @@ class AddonPermissionsDetailsFragment : Fragment(R.layout.fragment_add_on_permis
|
||||||
@StringRes val stringId = it
|
@StringRes val stringId = it
|
||||||
getString(stringId)
|
getString(stringId)
|
||||||
}.sorted()
|
}.sorted()
|
||||||
adapter = AddonPermissionsAdapter(sortedPermissions)
|
adapter = AddonPermissionsAdapter(
|
||||||
|
sortedPermissions,
|
||||||
|
style = AddonPermissionsAdapter.Style(
|
||||||
|
ThemeManager.resolveAttribute(R.attr.primaryText, requireContext())
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,15 @@ class AddonsManagementFragment : Fragment(R.layout.fragment_add_ons_management),
|
||||||
val adapter = AddonsManagerAdapter(
|
val adapter = AddonsManagerAdapter(
|
||||||
requireContext().components.addonCollectionProvider,
|
requireContext().components.addonCollectionProvider,
|
||||||
this@AddonsManagementFragment,
|
this@AddonsManagementFragment,
|
||||||
addons
|
addons,
|
||||||
|
style = AddonsManagerAdapter.Style(
|
||||||
|
ThemeManager.resolveAttribute(R.attr.primaryText, requireContext()),
|
||||||
|
ThemeManager.resolveAttribute(R.attr.primaryText, requireContext()),
|
||||||
|
ThemeManager.resolveAttribute(
|
||||||
|
R.attr.secondaryText,
|
||||||
|
requireContext()
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
isInstallationInProgress = false
|
isInstallationInProgress = false
|
||||||
view.add_ons_progress_bar.isVisible = false
|
view.add_ons_progress_bar.isVisible = false
|
||||||
|
|
|
@ -99,7 +99,7 @@ class InstalledAddonDetailsFragment : Fragment() {
|
||||||
onSuccess = {
|
onSuccess = {
|
||||||
runIfFragmentIsAttached {
|
runIfFragmentIsAttached {
|
||||||
switch.isClickable = true
|
switch.isClickable = true
|
||||||
switch.setText(R.string.mozac_feature_addons_settings_on)
|
switch.setText(R.string.mozac_feature_addons_enabled)
|
||||||
view.settings.isVisible = true
|
view.settings.isVisible = true
|
||||||
view.remove_add_on.isEnabled = true
|
view.remove_add_on.isEnabled = true
|
||||||
this.addon = it
|
this.addon = it
|
||||||
|
@ -133,7 +133,7 @@ class InstalledAddonDetailsFragment : Fragment() {
|
||||||
onSuccess = {
|
onSuccess = {
|
||||||
runIfFragmentIsAttached {
|
runIfFragmentIsAttached {
|
||||||
switch.isClickable = true
|
switch.isClickable = true
|
||||||
switch.setText(R.string.mozac_feature_addons_settings_off)
|
switch.setText(R.string.mozac_feature_addons_disabled)
|
||||||
view.remove_add_on.isEnabled = true
|
view.remove_add_on.isEnabled = true
|
||||||
this.addon = it
|
this.addon = it
|
||||||
showSnackBar(
|
showSnackBar(
|
||||||
|
@ -256,9 +256,9 @@ class InstalledAddonDetailsFragment : Fragment() {
|
||||||
|
|
||||||
private fun Switch.setState(checked: Boolean) {
|
private fun Switch.setState(checked: Boolean) {
|
||||||
val text = if (checked) {
|
val text = if (checked) {
|
||||||
R.string.mozac_feature_addons_settings_on
|
R.string.mozac_feature_addons_enabled
|
||||||
} else {
|
} else {
|
||||||
R.string.mozac_feature_addons_settings_off
|
R.string.mozac_feature_addons_disabled
|
||||||
}
|
}
|
||||||
setText(text)
|
setText(text)
|
||||||
isChecked = checked
|
isChecked = checked
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="20dp"
|
android:layout_marginBottom="20dp"
|
||||||
|
android:textColor="?primaryText"
|
||||||
|
android:textColorLink="?aboutLink"
|
||||||
tools:text="@tools:sample/lorem/random" />
|
tools:text="@tools:sample/lorem/random" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -29,6 +31,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/details"
|
android:layout_below="@+id/details"
|
||||||
|
style="@style/AboutHeaderContentText"
|
||||||
android:text="@string/mozac_feature_addons_authors" />
|
android:text="@string/mozac_feature_addons_authors" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -37,6 +40,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/details"
|
android:layout_below="@+id/details"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
|
style="@style/AboutHeaderContentText"
|
||||||
tools:text="@tools:sample/full_names" />
|
tools:text="@tools:sample/full_names" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
|
@ -46,7 +50,7 @@
|
||||||
android:layout_below="@+id/author_label"
|
android:layout_below="@+id/author_label"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:background="@color/photonGrey40"
|
android:background="?android:attr/listDivider"
|
||||||
android:importantForAccessibility="no" />
|
android:importantForAccessibility="no" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -54,6 +58,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/author_divider"
|
android:layout_below="@+id/author_divider"
|
||||||
|
style="@style/AboutHeaderContentText"
|
||||||
android:text="@string/mozac_feature_addons_version" />
|
android:text="@string/mozac_feature_addons_version" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -62,6 +67,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/author_divider"
|
android:layout_below="@+id/author_divider"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
|
style="@style/AboutHeaderContentText"
|
||||||
tools:text="1.2.3" />
|
tools:text="1.2.3" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
|
@ -71,7 +77,7 @@
|
||||||
android:layout_below="@+id/version_label"
|
android:layout_below="@+id/version_label"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:background="@color/photonGrey40"
|
android:background="?android:attr/listDivider"
|
||||||
android:importantForAccessibility="no" />
|
android:importantForAccessibility="no" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -79,6 +85,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/version_divider"
|
android:layout_below="@+id/version_divider"
|
||||||
|
style="@style/AboutHeaderContentText"
|
||||||
android:text="@string/mozac_feature_addons_last_updated" />
|
android:text="@string/mozac_feature_addons_last_updated" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -87,6 +94,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/version_divider"
|
android:layout_below="@+id/version_divider"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
|
style="@style/AboutHeaderContentText"
|
||||||
tools:text="Oct 16, 2019" />
|
tools:text="Oct 16, 2019" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
|
@ -96,7 +104,7 @@
|
||||||
android:layout_below="@+id/last_updated_label"
|
android:layout_below="@+id/last_updated_label"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:background="@color/photonGrey40"
|
android:background="?android:attr/listDivider"
|
||||||
android:importantForAccessibility="no" />
|
android:importantForAccessibility="no" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -104,18 +112,10 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/last_updated_divider"
|
android:layout_below="@+id/last_updated_divider"
|
||||||
|
style="@style/AboutHeaderContentText"
|
||||||
|
android:textColor="?aboutLink"
|
||||||
android:text="@string/mozac_feature_addons_home_page" />
|
android:text="@string/mozac_feature_addons_home_page" />
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/home_page_text"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@+id/last_updated_divider"
|
|
||||||
android:layout_alignParentEnd="true"
|
|
||||||
android:contentDescription="@string/mozac_feature_addons_home_page"
|
|
||||||
app:srcCompat="@drawable/mozac_ic_link"
|
|
||||||
android:tint="?android:attr/textColorPrimary" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/home_page_divider"
|
android:id="@+id/home_page_divider"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -123,7 +123,7 @@
|
||||||
android:layout_below="@+id/home_page_label"
|
android:layout_below="@+id/home_page_label"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:background="@color/photonGrey40"
|
android:background="?android:attr/listDivider"
|
||||||
android:importantForAccessibility="no" />
|
android:importantForAccessibility="no" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -131,6 +131,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/home_page_divider"
|
android:layout_below="@+id/home_page_divider"
|
||||||
|
style="@style/AboutHeaderContentText"
|
||||||
android:text="@string/mozac_feature_addons_rating" />
|
android:text="@string/mozac_feature_addons_rating" />
|
||||||
|
|
||||||
<RatingBar
|
<RatingBar
|
||||||
|
@ -150,6 +151,7 @@
|
||||||
android:layout_below="@+id/home_page_divider"
|
android:layout_below="@+id/home_page_divider"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_marginStart="6dp"
|
android:layout_marginStart="6dp"
|
||||||
|
style="@style/AboutHeaderContentText"
|
||||||
tools:text="591,642" />
|
tools:text="591,642" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingEnd="16dp"
|
android:paddingEnd="16dp"
|
||||||
android:text="@string/mozac_feature_addons_learn_more"
|
android:text="@string/mozac_feature_addons_learn_more"
|
||||||
app:drawableEndCompat="@drawable/mozac_ic_link"
|
style="@style/AboutHeaderContentText"
|
||||||
app:drawableTint="?android:attr/textColorPrimary" />
|
android:textColor="?aboutLink"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
|
@ -29,9 +29,11 @@
|
||||||
android:checked="true"
|
android:checked="true"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
|
android:layout_marginStart="54dp"
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
android:text="@string/mozac_feature_addons_settings_on"
|
android:text="@string/mozac_feature_addons_enabled"
|
||||||
android:textSize="18sp" />
|
android:textColor="?primaryText"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/settings"
|
android:id="@+id/settings"
|
||||||
|
@ -39,11 +41,12 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/enable_switch"
|
android:layout_below="@+id/enable_switch"
|
||||||
android:background="?android:attr/selectableItemBackground"
|
android:background="?android:attr/selectableItemBackground"
|
||||||
android:drawablePadding="12dp"
|
android:drawablePadding="32dp"
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
android:text="@string/mozac_feature_addons_settings"
|
android:text="@string/mozac_feature_addons_settings"
|
||||||
android:textSize="18sp"
|
android:textSize="16sp"
|
||||||
app:drawableStartCompat="@drawable/mozac_ic_preferences"
|
android:textColor="?primaryText"
|
||||||
|
app:drawableStartCompat="@drawable/ic_settings"
|
||||||
app:drawableTint="?primaryText" />
|
app:drawableTint="?primaryText" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -52,11 +55,12 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/settings"
|
android:layout_below="@+id/settings"
|
||||||
android:background="?android:attr/selectableItemBackground"
|
android:background="?android:attr/selectableItemBackground"
|
||||||
android:drawablePadding="12dp"
|
android:drawablePadding="32dp"
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
|
android:textColor="?primaryText"
|
||||||
android:text="@string/mozac_feature_addons_details"
|
android:text="@string/mozac_feature_addons_details"
|
||||||
android:textSize="18sp"
|
android:textSize="16sp"
|
||||||
app:drawableStartCompat="@drawable/mozac_ic_information"
|
app:drawableStartCompat="@drawable/ic_info"
|
||||||
app:drawableTint="?primaryText" />
|
app:drawableTint="?primaryText" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -65,11 +69,12 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/details"
|
android:layout_below="@+id/details"
|
||||||
android:background="?android:attr/selectableItemBackground"
|
android:background="?android:attr/selectableItemBackground"
|
||||||
android:drawablePadding="12dp"
|
android:drawablePadding="32dp"
|
||||||
android:padding="16dp"
|
android:padding="16dp"
|
||||||
android:text="@string/mozac_feature_addons_permissions"
|
android:text="@string/mozac_feature_addons_permissions"
|
||||||
android:textSize="18sp"
|
android:textColor="?primaryText"
|
||||||
app:drawableStartCompat="@drawable/mozac_ic_permissions" />
|
android:textSize="16sp"
|
||||||
|
app:drawableStartCompat="@drawable/ic_permission" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/remove_add_on"
|
android:id="@+id/remove_add_on"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user