From d87c35819bdc654b02e940d53db6eb4f1e1beb5f Mon Sep 17 00:00:00 2001 From: Javi Pacheco Date: Fri, 23 Dec 2016 11:31:52 +0100 Subject: [PATCH] New version and improved widgets screen --- CHANGELOG.md | 9 +++ .../app/src/main/res/values-es/strings.xml | 60 +++++++++---------- modules/app/src/main/res/values/dimens.xml | 2 +- .../widgets/WidgetsDialogUiActions.scala | 43 +++++++------ project/Settings.scala | 4 +- 5 files changed, 61 insertions(+), 57 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03b5b037a..4169cbdea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## 2016/12/23 - Version Name: 2.0.9-beta - Version Code: 66 + +* The user can add Bluetooth devices to Moment +* Improved Widgets screen +* Added Apptentive +* The user can disable Google Analytics +* Added tests for jobs +* Some bugs fixed in UI + ## 2016/12/16 - Version Name: 2.0.8-beta - Version Code: 65 * Drag&Drop for managing widgets diff --git a/modules/app/src/main/res/values-es/strings.xml b/modules/app/src/main/res/values-es/strings.xml index 70c902316..be6153e14 100644 --- a/modules/app/src/main/res/values-es/strings.xml +++ b/modules/app/src/main/res/values-es/strings.xml @@ -134,10 +134,10 @@ Recuerda que puedes create o configurar tus colecciones o Momentos in el launcher. Disfruta! - Hola soy %1$s del equipo de 9 Cards! Dejame contarte algo sobre el AppDrawer - Hola soy %1$s del equipo de 9 Cards! Dejame contarte algo sobre las Colecciones - Hola soy %1$s del equipo de 9 Cards! Dejame contarte algo sobre el Perfil - Hola soy %1$s del equipo de 9 Cards! Dejame contarte algo sobre el Launcher + Hola! Soy %1$s del equipo de 9Cards! Me encantaría contarte algo más sobre nuestro AppDrawer + Hola! Soy %1$s del equipo de 9Cards! Me gustaría explicarte como funcionan las Colecciones + Buenas! Soy %1$s del equipo de 9Cards! Déjame que te cuente que puedes hacer en tu Perfil + Hola! Soy %1$s del equipo de 9Cards! Me gustaría contarte más sobre nuestro Launcher ¡Vamos! ¡Entendido! @@ -153,7 +153,7 @@ Hemos llamado Momentos a las partes de tu día a día en la que haces algo en particular. Escuchar música, relajarte en tu casa, trabajar en tu oficina… Widgets adaptados a tu día a día - Los Widgets son sin duda, una de las partes más productivas de Android, pero muchas veces tambien es una parte subestimada. Los Momentos permiten ordenar los Widgets y mostrarlos en el Momento del día en el que te encuentras + Los Widgets son sin duda, una de las partes más productivas de Android, pero muchas veces también es una parte subestimada. Los Momentos permiten ordenar los Widgets y mostrarlos en el Momento del día en el que te encuentras Tus Publicaciones Echa un vistazo a tus Colecciones Públicas y al numero de descargas y subscriciones que tienen @@ -202,15 +202,15 @@ Añade tus Wifi a este Momento y lo mostraremos cuando estés conectado a uno de ellos - Añade tus disposivos Bluetooth a este Momento y lo mostraremos cuando estés conectado a uno de ellos + Añade tus disposivos Bluetooth y lo mostraremos cuando estés conectado a uno de ellos Puedes seleccionar una Colección y acceder rápidamente a las aplicaciones, contactos y accesos directos de esta Colección desde una barra a la derecha de 9Cards. Sólo tienes que hacer clic en el fondo o un swipe desde el borde derecho del Launcher Hemos tenido problemas cargando los widgets. Inténtalo más tarde - No hemos encontrado wifis. Si tu no tienes conectada la Red Wifi, tu deberías hacerlo + No hemos encontrado redes WIFI. Tal vez sea porque no tienes conectada la Red WIFI de tu teléfono - No hemos encontrado Bluetooth emparejados. Si tu no tienes conectado el Bluetooth, tu deberías hacerlo + No hemos encontrado Bluetooth emparejados. Tal vez sea porque no tienes conectado el Bluetooth de tu teléfono @@ -458,7 +458,7 @@ Cambiar nombre Imprimir información - Iniciando la sincronización de la cuenta + Iniciando la sincronización de tu cuenta Cuenta sincronizada Esta Colección ha sido añadida a tus colecciones @@ -615,18 +615,16 @@ Deslizamiento Horizontal Aparece desde atrás - Movimiento Fondo de Pantalla - La imagen de fondo se mueve en el desplazamiento entre pantallas en el launcher + Movimiento Fondo de Pantalla + La imagen de fondo se mueve en el desplazamiento entre pantallas - Analítica - Aprende más sobre nuestra política de analítica + Analítica + Aprende más sobre nuestra política de analítica - Habilitar analítica - 9 Cards usa Google Analytics para trackear el comportamiento independientemente de como ellos usas las apps. La información es anónima y es usada con el propósito de la generación de estadísticas de las apps más populares, mejores colecciones y mejor experiencia del usuario. Los datos son sólo usados con este propósito y no son vendidos, publicados ni usados de otra manera que para mejorar la experiencia en el Launcher. Si prefieres que tus datos anónimos no sean usados tu puedes deshabilitarlo - - + Habilitar + 9 Cards usa Google Analytics para trackear el comportamiento de los usuarios. La información es anónima y es usada con el propósito de generar estadísticas de las apps más populares, mejores colecciones y mejor experiencia del usuario. Los datos son únicamente utilizados con este propósito y no serán vendidos, publicados ni usados de otra manera que para mejorar la experiencia del usuario. Si prefieres que tus datos anónimos no sean utilizados, puedes deshabilitarlo @@ -699,12 +697,12 @@ Sobre 9Cards Conoce más sobre el producto y el equipo que esta detrás. - Enviar Feedback - Nos encantaría saber tu opinión sobre 9Cards + Enviar Feedback + Nos encantaría saber tu opinión sobre 9Cards - 9Cards es un Open Source Android launcher diseñado para Power Android User + 9Cards es un launcher Open Source diseñado por y para Power Android Users - Visitar 9Cards GitHub + 9Cards en GitHub Mostrar Wizards en línea Mostraremos nuestros consejos de como utilizar 9Cards @@ -712,18 +710,18 @@ Puntúa en Google Play - Hola, Soy %1$s + Hola, Soy %1$s Conoce al Equipo - Librerías de Scala - 47 Degrees + Librerías de Scala utilizadas + Acerca de 47 Degrees Síguenos en Twitter Síguenos en Facebook Síguenos en Google Plus - Sólo cliente - Sólo servidor - Servidor y cliente + Sólo en Cliente + Sólo en Servidor + Servidor y Cliente ¡Somos de Código Abierto! Conoce más sobre el Projecto de Código Abiertot @@ -767,11 +765,11 @@ ¿Estás seguro de querer borrar este Momento? No puedes eliminar este Momento - Momento %s tiene condiciones especiales + %s tiene condiciones especiales - El Momento Coche es activado automáticamente cuando 9Cards detecta que tu vas desplazándote en vehículo - El Momento Música es activado automáticamente cuando conectas tus auriculares en tu móvil - Este momento es activado automáticamente cuando no tenemos un mejor momento disponible para ti (por ejemplo: andando, de camino a casa, etc) + El Momento Coche es activado automáticamente cuando 9Cards detecta que tu vas desplazándote en vehículo + El Momento Música es activado automáticamente cuando conectas tus auriculares en tu móvil + Este momento es activado automáticamente cuando no estas en un momento específico (por ejemplo: andando, de camino a casa, etc) Recuperando información de la Colección… diff --git a/modules/app/src/main/res/values/dimens.xml b/modules/app/src/main/res/values/dimens.xml index 5ce7df6c9..15d23d9d3 100644 --- a/modules/app/src/main/res/values/dimens.xml +++ b/modules/app/src/main/res/values/dimens.xml @@ -128,7 +128,7 @@ 150dp - 54dp + 40dp 180dp 40dp diff --git a/modules/app/src/main/scala/cards/nine/app/ui/commons/dialogs/widgets/WidgetsDialogUiActions.scala b/modules/app/src/main/scala/cards/nine/app/ui/commons/dialogs/widgets/WidgetsDialogUiActions.scala index 02b39dfbe..daaeb6416 100644 --- a/modules/app/src/main/scala/cards/nine/app/ui/commons/dialogs/widgets/WidgetsDialogUiActions.scala +++ b/modules/app/src/main/scala/cards/nine/app/ui/commons/dialogs/widgets/WidgetsDialogUiActions.scala @@ -1,6 +1,6 @@ package cards.nine.app.ui.commons.dialogs.widgets -import android.view.ViewGroup +import android.view.{Gravity, ViewGroup} import android.widget.{ImageView, LinearLayout, TextView} import cards.nine.app.ui.commons.AsyncImageTweaks._ import cards.nine.app.ui.commons.UiContext @@ -65,21 +65,12 @@ trait WidgetsDialogUiActions extends Styles { private[this] def loadMenuApps(appsWithWidgets: Seq[AppsWithWidgets]): Ui[Any] = { - def firstLetter(app: AppsWithWidgets) = - app.name.substring(0, 1).toUpperCase - - val views = appsWithWidgets.zipWithIndex map { - case (app, index) => - val maybeLetter = appsWithWidgets.lift(index - 1) match { - case Some(previousApp) if firstLetter(previousApp) == firstLetter(app) => - None - case _ => Option(firstLetter(app)) - } - (l[LinearLayout]( - w[ImageView] <~ iconMenuItemStyle(app.packageName, app.name) <~ vTag(app.packageName), - w[TextView] <~ textMenuItemStyle(maybeLetter) <~ vTag(app.packageName)) <~ - contentMenuItemStyle <~ - On.click(showWidgets(app.packageName, app.widgets))).get + val views = appsWithWidgets map { app => + (l[LinearLayout]( + w[ImageView] <~ iconMenuItemStyle(app.packageName, app.name) <~ vTag(app.packageName), + w[TextView] <~ textMenuItemStyle(app.name) <~ vTag(app.packageName)) <~ + contentMenuItemStyle <~ + On.click(showWidgets(app.packageName, app.widgets))).get } menu <~ vgAddViews(views) } @@ -93,6 +84,10 @@ trait WidgetsDialogUiActions extends Styles { content <~ vAlpha(selectedAlpha) case content: ImageView => content <~ vAlpha(unselectedAlpha) + case content: TextView if content.getTag == tag => + content <~ vAlpha(selectedAlpha) + case content: TextView => + content <~ vAlpha(unselectedAlpha) }) case _ => Ui.nop } @@ -100,27 +95,29 @@ trait WidgetsDialogUiActions extends Styles { // Styles private[this] def contentMenuItemStyle: Tweak[LinearLayout] = - vWrapContent + llVertical + vPaddings(padding) + vWrapContent + + llHorizontal + + vPaddings(padding) + + llGravity(Gravity.CENTER_VERTICAL) + + vBackgroundColorResource(R.color.widgets_background_content) private[this] def iconMenuItemStyle(packageName: String, name: String)( implicit contextWrapper: ContextWrapper, uiContext: UiContext[_]): Tweak[ImageView] = { val size = resGetDimensionPixelSize(R.dimen.size_widget_icon) - val padding = resGetDimensionPixelSize(R.dimen.padding_default) + val padding = resGetDimensionPixelSize(R.dimen.padding_small) lp[ViewGroup](size, size) + vPaddings(padding) + ivSrcByPackageName(Option(packageName), name) } - private[this] def textMenuItemStyle(maybeLetter: Option[String])( + private[this] def textMenuItemStyle(name: String)( implicit contextWrapper: ContextWrapper): Tweak[TextView] = vWrapContent + tvColorResource(R.color.widgets_text) + vPadding(paddingLeft = padding) + vAlpha(unselectedAlpha) + - (maybeLetter map tvText getOrElse Tweak.blank) + - tvAllCaps() + - tvNormalMedium + - tvSizeResource(R.dimen.text_medium) + tvText(name) + + tvSizeResource(R.dimen.text_default) } diff --git a/project/Settings.scala b/project/Settings.scala index 655de739f..f417147d5 100644 --- a/project/Settings.scala +++ b/project/Settings.scala @@ -45,8 +45,8 @@ object Settings extends SiteKeys { case None => "" } - lazy val androidVersionName = "2.0.8-beta" - lazy val androidVersionCode = 65 + lazy val androidVersionName = "2.0.9-beta" + lazy val androidVersionCode = 66 // App Module lazy val appSettings = basicSettings ++ multiDex ++ customS3Settings ++ crashlyticsSettings ++