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 ++