L'application officielle Android Gladys disponible sur le Play Store 🚀

Salut Ă  tous,

Je suis heureux de vous annoncer que l’application Android Gladys est disponible sur le Play Store après une période de bêta test!

Vous la trouverez ici:

Un grand bravo à @MathieuA pour tout le travail effectué, vous pouvez le féliciter elle envoie cette application :clap:

7 Likes

FĂ©licitation @MathieuA

Cela coincide avec une réinstallation totale des mes équipements. :ok_hand:
Je ferais des feedbacks si besoin une fois tout remis en place.

2 Likes

Super boulot. Merci beaucoup pour votre travail qui nous facilite le quotidien.

2 Likes

Merci beaucoup ! :+1:

2 Likes

Parfait :ok_hand: merci pour le travail :blush:

2 Likes

Très bonne nouvelle. Installé aussitôt merci @MathieuA pour ce super boulot :+1:

2 Likes

Salut

Vraiment GĂ©nial @MathieuA Merci pour ce super boulot

@phoenix3472

1 Like

Super merci @MathieuA.
Je trouve qu’il y a plus de possibilités dans la version bêta que celle-ci.
C’est un choix ou c’est pour les prochaines versions?

  • pas d’alarme
  • pas de brain
    Le menu pièce bien utile si on a beaucoup de périphérique.

En tout cas bravo.

1 Like

en tant que boulet je me pose là … je n’arrive pas à la faire fonctionner à distance.
En local, pas de problème.
J’ai pourtant paramétré mon DNS, le port est le bon mais j’ai toujours le message “une erreur est survenue”.
NB : la case https est cochée grisée car android 9
Help me please … :sleepy:
Tiboys

J’ai un problème identique sur l’App,
Même en local j’ai ce message.
Pourtant avec les même paramètres sur l’App bêta cela fonctionne en local…
Si quelqu’un a un idée :slight_smile:
Pour que cela fonctionne a distance faut-il configurer le Gladys gateway ?

Hello !

Merci à tous ça fait plaisir d’avoir votre soutient :grinning:

C’est un choix. La version Beta dont tu parle est en fait la version d’ébauche que j’ai fait à l’époque, et dont toutes ces fonctionnalités ne présentaient pas grand intérêt à la longue. J’ai donc préféré opté pour une nouvelle approche pour cette nouvelle version, l’app n’a pas vocation à devenir une copie du dashboard mais plutôt une extension (ou un module) de Gladys elle même capable de retourner des infos que Gladys ne peut pas obtenir en étant installée chez soi sur un PI. Evidemment ce n’est qu’une première version actuellement, et à laquelle viendront se greffer des fonctionnalités plus utiles comme la Géolocalisation, le NFC, le MQTT etc

Malheureusement j’ai pas mal de choses à faire en ce moment donc le développement est à l’arrêt :slightly_frowning_face:
Enfin sauf si une âmes charitable passe par la et décide de reprendre le flambeau ^^

Avec Android 9 il faut obligatoirement utilisé l’HTTPS comme indiqué dans les paramètres, ça ne dépend pas de moi malheureusement, c’est Google qui a instauré ça pour plus de sécurité.

Il faut donc que tu active l’HTTPS sur ton instance Gladys.

Un peu plus de précision m’aiderait ^^
Quels paramétrages tu as fait exactement ? Si tu veux on peux passer en privé pour éviter de montrer des infos de connexion.
Et non la Gateway n’est pas obligatoire :slightly_smiling_face:

Oui et non. Tu peux autoriser une IP ou un domaine dans un fichier xml (network_security_conffig) ou ajouter cette ligne dans ton manifeste :

android:usesCleartextTraffic="true" 

C’est pas ouf, mais ça permettrait aux personnes pas trop techniques de s’éviter de lancer le script pour mettre gladys en https.

J’ai un soucis avec l’appli sur un Zenfone 2 (x86) idem sur émulateur, les données ne s’affichent pas, alors que sur d’autres téléphones (arm), aucun soucis.

J’ai essayé de débug, mais il semblerait que le code source sur le github ne soit pas totalement à jour, une partie du code n’utilise pas AndroidX et du coup ne compile pas.

Serait-il possible que tu pousses la dernière version du code que je puisse voir plus en détail ce qui bug avec ce téléphone et l’émulateur stp ? :slight_smile:

Oui mais je vais pas créer un fichier et y ajouter tous les domaine de tous les utilisateurs de l’app :sweat_smile:
Et je suis pas fan de cette solution de contournement… je pense que c’est un mal pour un bien et que c’est important de se protéger (surtout à l’heure actuelle) beaucoup sur le forum ont eu des problèmes en exposant leur instance sans aucune sécurité. Donc je pense que ce n’est pas une mauvaise chose de les y inciter un peu ^^

Euh je me pose quelques questions :sweat_smile:
La version du code sur Github est totalement à jour, chez moi l’app compile sans problème, elle fonctionne très bien sur mon émulateur et AndroidX est activé dans Gradle avec toutes les dépendances qui vont bien…

Qu’entend-tu par “une partie du code n’utilise pas AndroidX” ?
Tu as testé sur quel autres smartphones ? Tu utilise quoi comme émulateur ? Comme IDE ? Tu as une erreur à l’écran ? L’app crash ?

Il me faut un peu plus d’infos :slight_smile:

2 Likes

Yep ! Là dessus on est d’accord ! Je disais juste que c’était possible si on voulait privilégier l’accessibilité à la sécurité :smiley: Je préfèrerai toujours la sécu également :wink:

Alors, on est sur du Android Studio, avec l’émulateur Android, j’ai testé avec une image API 25.
En y regardant de plus près, lorsque je clone depuis github, l’IDE m’intègre les sources du dossier demo, mais pas celles du dossier full, mes problèmes de compil’ viennent sûrement de là ! Je vais creuser là dedans :slight_smile:

Je t’envoie un fichier de log demain dans la journée en ce qui concerne le bug !

Merci @MathieuA pour ton retour mais je suis bien en HTTPS sur Gladys.
Je ne vois pas d’où vient le problème. :sleepy:

Voici les logs @MathieuA

2019-05-11 08:58:35.853 2864-2864/? W/art: Unexpected CPU variant for X86 using defaults: x86
2019-05-11 08:58:35.897 2864-2864/com.gladysassistant.gladys W/System: ClassLoader referenced unknown path: /data/app/com.gladysassistant.gladys-1/lib/x86
2019-05-11 08:58:35.958 2864-2864/com.gladysassistant.gladys E/ResourceType: Style contains key with bad entry: 0x0101056c
2019-05-11 08:58:35.966 2864-2864/com.gladysassistant.gladys W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
2019-05-11 08:58:35.980 2864-2864/com.gladysassistant.gladys E/ResourceType: Style contains key with bad entry: 0x0101056c
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.appcompat.widget.ActionBarContainer.<init>(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:645)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:787)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:727)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:858)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:821)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:518)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:426)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:377)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void com.gladysassistant.gladys.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:57)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6679)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1118)
2019-05-11 08:58:36.024 2864-2864/com.gladysassistant.gladys I/art:     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2618)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2726)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1477)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void android.os.Looper.loop() (Looper.java:154)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6119)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip file "/data/app/com.gladysassistant.gladys-1/base.apk"],nativeLibraryDirectories=[/data/app/com.gladysassistant.gladys-1/lib/x86, /system/lib, /vendor/lib]]
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.core.view.ViewCompat.setBackground(android.view.View, android.graphics.drawable.Drawable) (ViewCompat.java:2341)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.appcompat.widget.ActionBarContainer.<init>(android.content.Context, android.util.AttributeSet) (ActionBarContainer.java:62)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at java.lang.Object java.lang.reflect.Constructor.newInstance0!(java.lang.Object[]) (Constructor.java:-2)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:430)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:645)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:787)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:727)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:858)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:821)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:518)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:426)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:377)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:607)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void com.gladysassistant.gladys.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:57)
2019-05-11 08:58:36.025 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6679)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1118)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2618)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2726)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1477)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at void android.os.Looper.loop() (Looper.java:154)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6119)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
2019-05-11 08:58:36.026 2864-2864/com.gladysassistant.gladys I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
2019-05-11 08:58:36.180 2864-2864/com.gladysassistant.gladys I/ViewConfigCompat: Could not find method getScaledScrollFactor() on ViewConfiguration
2019-05-11 08:58:36.261 2864-2880/com.gladysassistant.gladys D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2019-05-11 08:58:36.418 2864-2882/com.gladysassistant.gladys I/OpenGLRenderer: Initialized EGL, version 1.4
2019-05-11 08:58:36.418 2864-2882/com.gladysassistant.gladys D/OpenGLRenderer: Swap behavior 1
2019-05-11 08:58:36.419 2864-2882/com.gladysassistant.gladys W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2019-05-11 08:58:36.419 2864-2882/com.gladysassistant.gladys D/OpenGLRenderer: Swap behavior 0
2019-05-11 08:58:36.448 2864-2882/com.gladysassistant.gladys D/EGL_emulation: eglCreateContext: 0xa4805300: maj 3 min 1 rcv 4
2019-05-11 08:58:36.512 2864-2882/com.gladysassistant.gladys D/EGL_emulation: eglMakeCurrent: 0xa4805300: ver 3 1 (tinfo 0xa4803220)
2019-05-11 08:58:36.515 2864-2864/com.gladysassistant.gladys E/RecyclerView: No adapter attached; skipping layout
2019-05-11 08:58:36.524 2864-2882/com.gladysassistant.gladys E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
2019-05-11 08:58:36.525 2864-2882/com.gladysassistant.gladys E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
2019-05-11 08:58:36.647 2864-2882/com.gladysassistant.gladys D/EGL_emulation: eglMakeCurrent: 0xa4805300: ver 3 1 (tinfo 0xa4803220)
```

(Si tu préfères je peux poster une issue également)

Bonjour
FĂ©licitation Ă  @MathieuA beau travail :+1:

j’ai juste une suggestion sur le champ Token avoir la possibilité de voir la valeur (ce que l’on rentre)
vu la longueur et la complexité, on peut se tromper facilement :stuck_out_tongue: