Profile

Cover photo
Antoine Merle
Works at Goomeo
Attended ISIMA
1,086 followers|609,033 views
AboutPostsVideosReviews

Stream

 
 
Trello's got a new engineering blog! I kicked it off with a post about writing Gradle plugins.
The official weblog Trello's crackerjack team of developers, engineers, mathematicans, and poets
1 comment on original post
2
2
Davide Corradini's profile photoAndroid Resources's profile photo
Add a comment...
 
 
I just published a new article about Android apps performance. +Joaquim Verges was kind enough to let me use his application Falcon Pro has an example once again.
Two years ago, I published an articled titled Android Performance Case Study to help Android developers understand what tools and technique can be used to identify, track down, and fix performance ...
20 comments on original post
1
Add a comment...

Antoine Merle

Shared publicly  - 
 
If you are using SmoothProgressBar, please be sure you are using the official dependency, which is `com.github.castorflex.smoothprogressbar`.

There is another smoothprogressbar in maven central, in v1.0.0... Don't know why, and it seems this one appears first in gradleplease...

http://search.maven.org/#search%7Cga%7C1%7Csmoothprogressbar
You May Already Be Registered! If you have an account with one of the following Sonatype services, you can use your existing credentials for that account to log in: Sonatype JIRA (https://issues.sonatype.org); OSS Repository Hosting Service (https://oss.sonatype.org); Sonatype Support Account ...
2
Add a comment...
 
An animated drawable. That's all I need to share ☺
 
Hacked this together today after work. Writing custom drawables is fun. :)

Source code: https://github.com/alexjlockwood/material-check-mark-animation 
2 comments on original post
5
3
Android Resources's profile photoDavide Corradini's profile photo
Add a comment...

Antoine Merle

Shared publicly  - 
 
 
Continuous integration concerns? Soon, you'll be able to create and set up your devices on the fly, right before running your tests.
5 comments on original post
9
3
Iñaki Villar's profile photoAndroid Resources's profile photo
Add a comment...

Antoine Merle

Shared publicly  - 
 
 
MediaSessionCompat extends support from API 21+ to API 14+
One improvement not mentioned in the revision 22 of the Android Support Library is on MediaSessionCompat: the class that makes it easier to build a better Media experience across all API levels.

Previously, MediaSessionCompat was a simple wrapper around the new MediaSession API added in Lollipop, saving you the need to API check every call but not helping so much in supporting older versions of Android. This release, having looked at the source code [1], also adds support for RemoteControlClient - the API needed to build great media experiences (such as lock screen controls) on API 14-20 devices!

This looks like it'll make MediaSession much easier to work with while keeping your existing media player working nicely. In fact, this now encapsulates much of the logic you needed to do yourself, potentially meaning you can now strip out a vast majority of the version specific code and build something that looks and acts perfectly on all devices.

[1] - https://android.googlesource.com/platform/frameworks/support/+/refs/heads/master/v4/java/android/support/v4/media/session/MediaSessionCompat.java
39 comments on original post
3
2
Julien Banse's profile photoIonut Negru's profile photo
Add a comment...
 
 
Don't break the chain: use RxJava's compose() operator.

#android  
One nice aspect of RxJava is that you can see how data is transformed through a series of operators: Observable.from(someSource) .map(data -> manipulate(data)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(data -> doSomething(data)...
View original post
2
Add a comment...
Have him in circles
1,086 people
Min Thu's profile photo
Ankit Thakkar's profile photo
Fanny Goomeo's profile photo
刘涛's profile photo
marco secchi's profile photo
Sergey Горун's profile photo
Lisa R's profile photo
jiel tor's profile photo
Dmytro Danylyk's profile photo

Antoine Merle

Shared publicly  - 
 
Facebook style
26
8
Jeremy Tecson's profile photoSergi Martínez's profile photoStefan Hoth's profile photoStefan Hoth's profile photo
11 comments
 
+Ognjen Dragoljevic Your comments deserves an answer. I did not find the time to reply yet, but I will try to write a post about this asap.
Add a comment...

Antoine Merle

Shared publicly  - 
 
 
I thought +Shifty Jelly's pause-to-play button animation in the latest Pocket Casts update was pretty slick, so I tried implementing it myself.

People seemed to like the check mark animation I posted a few days ago, so I added extra comments describing the animation in the source code. :)

Source code: https://github.com/alexjlockwood/material-pause-play-animation
12 comments on original post
5
2
Julien Banse's profile photoKurt Mbanje's profile photo
Add a comment...

Antoine Merle

Shared publicly  - 
 
Btw, I wrote a post about foreground selectors a few times ago: http://antoine-merle.com/blog/2013/07/17/adding-a-foreground-selector-to-a-view/
 
Someone asked me today how to add ink ripple¹ touch feedback to an image without having to add additional views to your hierarchy which would hurt performance or memory use.  Here's a couple of approaches: 

1. Wrap the drawable in a RippleDrawable² before setting it on the ImageView:

Drawable image = …
RippleDrawable rippledImage = new RippleDrawable(ColorStateList.valueOf(rippleColor), image, null);
imageView.setImageDrawable(rippledImage);

2. Extend ImageView and add a foreground attribute to it (like FrameLayout has³).  See this example⁴ from +Chris Banes of adding it to a LinearLayout.  If you do this then make sure you pass through the touch co-ordinates so that the ripple starts from the correct point:

   @Override
    public void drawableHotspotChanged(float x, float y) {
        super.drawableHotspotChanged(x, y);
        if (foreground != null) {
            foreground.setHotspot(x, y);
        }
    }

I prefer the second approach as you can declaratively set a ripple drawable as the foreground asset in your layout and not have to worry about adding it once the image loads, somewhat simplifying your code and playing nicely with image loading libs like Picasso.  The first approach can work well in combination with Palette to set a ripple color derived from the image.

#AndroidDev  

¹ http://www.google.com/design/spec/animation/responsive-interaction.html#responsive-interaction-surface-reaction
² https://developer.android.com/reference/android/graphics/drawable/RippleDrawable.html
³ https://developer.android.com/reference/android/widget/FrameLayout.html#attr_android:foreground
https://gist.github.com/chrisbanes/9091754
11 comments on original post
5
3
Marco Granatiero's profile photoGuillaume Imbert's profile photo
Add a comment...

Antoine Merle

Shared publicly  - 
 
 
I gave an informal talk a couple weeks ago about Groovy & Gradle at a local meetup, here's a screencast.
9 comments on original post
4
2
Raj Mal's profile photoQuentin Boileau's profile photo
Add a comment...
 
 
Get started today by checking out our new reference sample: it's a bare-bones, but functional music player that works across your phone, car, watch and Google Cast devices. It's built on the new media APIs in Android 5.0 Lollipop and supports all the mentioned form factors in a single codebase!
2 comments on original post
5
Add a comment...
People
Have him in circles
1,086 people
Min Thu's profile photo
Ankit Thakkar's profile photo
Fanny Goomeo's profile photo
刘涛's profile photo
marco secchi's profile photo
Sergey Горун's profile photo
Lisa R's profile photo
jiel tor's profile photo
Dmytro Danylyk's profile photo
Work
Occupation
Android Developer
Employment
  • Goomeo
    Android Developer, 2012 - present
Basic Information
Gender
Male
Other names
Castorflex
Story
Tagline
French guy writing stuff.
Education
  • ISIMA
    Informatique, 2009 - 2012
  • University Of Limoges
    Informatique, 2007 - 2009
Food: ExcellentDecor: Very GoodService: Excellent
Public - 2 years ago
reviewed 2 years ago
3 reviews
Map
Map
Map
Prix élevés
Public - 2 years ago
reviewed 2 years ago