Retour aux articles
  • 25.03.2020

Mobitalks Mobile x BackMarket

Mobitalks Mobile x BackMarket

Vous n’avez pas pu assister au dernier meetup Mobile en partenariat avec BackMarket ? Voici un récap’ !

Avec Jean-Charles Sorin (Engineering Manager) & Florian Le Ficher (Android Tech Lead) : Présentation de l'équipe mobile, de l'organisation en team-feature, l'architecture des apps iOS (Swift) et Android (Kotlin), les problèmes techniques rencontrés ainsi que les solutions mises en place

Avec Philippe Boisney (Senior Android Engineer) Boostez vos fichiers de build Gradle avec Kotlin : Comment l'utilisation de Kotlin permet de rendre vos fichiers de build plus sexy et éviter d'écrire trop de boilerplate code.

 

Retrouvez le meetup en video juste ici !

 

What is Back Market ?

 

Fuck new

  • A marketplace for refurbished products
  • Certified professionals
  • Sell back your old devices
   

A random week at Back Market

  1  

Mobile Team

    2  

Remote culture

  • Remote-friendly

*for everyone: 2 days/ week *full-remotes contracts

  • 15 full-remote contracts at the BoT
  • Dedicated #remote channel
  • Zoom software
  • Tips: Krisp, Slack Donut
  • Regular 1:1s are important
 

Mobile APPS

  3

 

App & main features:

  • Diagnosis
  • Buyback
  • ASUX
  • Shop
   

BoT (Bureau of Technology)

  7 8 9  

How mobile team interacts with other teams?

  10  

How do we work with all of them?

  • Shared JIRA Board (EM/PO)
  • Regulars API Synch Meetings
  • API Specs repo (Open-API)
  • Shared Demos
  • Dedicated Slack channels
  • Product Board
   

Tech

Android / iOS

  • Native apps: 100% Kotlin & Swift 5
  • MVVM
  • Multi-modules / frameworks
  • Clean archi
  • Dependency Injection
 

Multi modules

  • Split features into modules
  • Reusable modules
  • Faster builds
  • Better code reviews
  • Each module have its tests
  • Scalable architecture
  4  

Tools

    12 13 13  

Android & iOS topic

  14  

Battery diagnosis

Collect battery data

BatteryManager class

 

15

 

Collect battery data

 

16

   

BatteryManager class

 

17

18

outputs:

 

OnePlus 6 device

19

 
  • 1864 mAh @ 69%
  • 2700 mAh @100%
  • 82% capacity
 

Pixel 2XL device

 

20

 

Get the device battery capacity

com.android.internal.os.PowerProfile class

  • Can’t be used without reflection 😱
  • Sometimes not available
21

Battery Health

BatteryManager class

23

Possible Value

 

22

   

Battery Diagnosis

#BatteryGate

 

History

  • iOS 7 to 9 - Private APIs are available for the battery information, like “brand”, voltage, wear level, etc.
  • iOS 7 to 9 - Private APIs are available for the battery, like “brand”, voltage, wear level, etc.
  • iOS 10 released - Private APIs information decreased
  • iOS 11 is released - Private APIs information decreased
  • Older devices are slow, as newer too. #BatteryGate
  • Apple Engineers says that is to save battery health
  • iOS 11.3 is released with Battery Health dashboard
  • iOS 12 released: no more useful information, apps like Battery Life need to ask the user to go to battery settings page, the app is useless now.
  25    

Contact Apple Engineers?

  26   27   28   29      

What’s next?

30          

Gradle Kotlin DSL

    1    

“Manual”

  2    

“Extra Properties”

✌️  Multi-Modules Projects 🤯  A LOT of “build.gradle”     3    

Gradle Kotlin DSL

 

Why ? 🧐

  • Kotlin Language!
  • IDE Friendly 🤙
  • ✍️ Statically Typed
 

How ?

  capture-decran-2020-03-25-a-12-02-51        

Show me the code!

    5