Bug 1836780 - Add UI For Printing Page Content
This bug adds a print button on the main Fenix toolbar menu and a print button on the share menu. This bug adds a main toolbar extra telemetry of print_content. Additional telemetry and Nimbus instrumentation will be added in bug 1837517.fenix/116.0
parent
40d5446c4b
commit
b8ada367ae
@ -0,0 +1,69 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.fenix.share
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.material.Icon
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.compose.annotation.LightDarkPreview
|
||||
import org.mozilla.fenix.theme.FirefoxTheme
|
||||
|
||||
/**
|
||||
* A Print item.
|
||||
*
|
||||
* @param onClick event handler when the print item is clicked.
|
||||
*/
|
||||
@Composable
|
||||
fun PrintItem(
|
||||
onClick: () -> Unit,
|
||||
) {
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.height(56.dp)
|
||||
.fillMaxWidth()
|
||||
.clickable(onClick = onClick),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Spacer(Modifier.width(16.dp))
|
||||
|
||||
Icon(
|
||||
painter = painterResource(R.drawable.ic_print),
|
||||
contentDescription = stringResource(
|
||||
R.string.content_description_close_button,
|
||||
),
|
||||
tint = FirefoxTheme.colors.iconPrimary,
|
||||
)
|
||||
|
||||
Spacer(Modifier.width(32.dp))
|
||||
|
||||
Text(
|
||||
color = FirefoxTheme.colors.textPrimary,
|
||||
text = stringResource(R.string.menu_print),
|
||||
style = FirefoxTheme.typography.subtitle1,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@Preview
|
||||
@LightDarkPreview
|
||||
private fun PrintItemPreview() {
|
||||
FirefoxTheme {
|
||||
PrintItem {}
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?attr/textPrimary"
|
||||
android:pathData="M7 3.5C7 2.11975 8.11975 1 9.5 1H14.5C15.8802 1 17 2.11975 17 3.5V7H19.5C20.881 7 22 8.119 22 9.5V15.5C22 16.881 20.881 18 19.5 18H17V19.5C17 20.8802 15.8802 22 14.5 22H9.5C8.11975 22 7 20.8802 7 19.5V18H4.5C3.119 18 2 16.881 2 15.5V9.5C2 8.119 3.119 7 4.5 7H7V3.5ZM8.75 7H15.25V3.5C15.25 3.08625 14.9138 2.75 14.5 2.75H9.5C9.08625 2.75 8.75 3.08625 8.75 3.5V7ZM8.75 14V19.5C8.75 19.9137 9.08625 20.25 9.5 20.25H14.5C14.9138 20.25 15.25 19.9137 15.25 19.5V14H8.75ZM19 10H17V12H19V10Z" />
|
||||
</vector>
|
Loading…
Reference in New Issue