Profile

Cover photo
Andrei Catinean
Works at Novoda
Attended Universitatea Tehnica Cluj Napoca
Lives in London
364 followers|175,090 views
AboutPostsCollectionsPhotosVideosReviews

Stream

Andrei Catinean

Shared publicly  - 
 
 
Hate when you open a PR and you forgot to run the checks, and of course the only time you forget, the build goes red?

Well, forget no more! Using Git hooks [0], you can have Git check for you before pushing (or committing, if you're paranoid).

How? Simple! You only need Git 1.8.2 or later.

1. Create an executable file in the .git/hooks directory called pre-push (or pre-commit if you prefer that). From a shell set at your repo's root:

  $ mkdir .git/hooks
  $ touch .git/hooks/pre-push
  $ chmod a+x .git/hooks/pre-push
 
2. Write a shell script inside of that file, by editing it with your favourite editor:

  #!/bin/bash
  # Runs test suite before each push
  ./gradlew check

3. Work as usual, then push (or commit).

If your script has returned 0 as exit code, everything will continue normally. Any non-zero exit code will abort the command, so you can go back and fix whatever you broke, before anybody else has to know it ;)

#gde   #android   #blogpost  

[0] https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks
Git Hooks. Like many other Version Control Systems, Git has a way to fire off custom scripts when certain important actions occur. There are two groups of these hooks: client-side and server-side. Client-side hooks are triggered by operations such as committing and merging, while server-side ...
19 comments on original post
1
Add a comment...

Andrei Catinean

Shared publicly  - 
 
Want to see Android Auto in action? Join this code lab! 
 
Join #GDE+Paul Blundell and +David González who will lead an Android Auto practical hands on code lab, where you will learn how to add Android Auto compatibility to an Android messaging app. 

What you’ll learn: 
- Extend a notification so that it also shows in your car 
- Handle the user replying to this notification 

The event will take the form of a guided workshop where we will walk you through the code to create this Android application explaining along the way how the different Android SDK parts work and answering any questions you may have.

You will have the chance to pair program (or on your own is ok to!) and to try out your code on a real Android Auto demo unit, not only in the emulator! 

Register here: http://www.meetup.com/GDG-Liverpool/events/223835094/

#androidauto   #codelab  
View original post
1
Add a comment...

Andrei Catinean

Shared publicly  - 
 
 
use Quicksand to improve the user experience of your application onboarding animations http://blog.blundell-apps.com/animations-enchant-your-users-without-boring-them-with-repetition/ #AndroidDev  

Codez: https://github.com/blundell/Quicksand
Use animations and transitions to onboard your users, but don't bore them with repetition. Quicksand follows the Android design principles to help you configure
View original post
2
Add a comment...

Andrei Catinean

Shared publicly  - 
 
 
I have just published a new short article about how to solve a weird issue when building with MultiDex.

#GDE   #android   #article  
When life gives you lemons, you bump the heap size.
7 comments on original post
1
Add a comment...

Andrei Catinean

Shared publicly  - 
 
#androiddev  in Liverpool? You should not miss this one! 
 
Do you want to know more about what happened this year at #io15?

Join Appsolutely Liverpool tomorrow to explore what the new announcements have in store for us and also discover best practices.

#GDE  +Paul Blundell will lead a discussion and present his experiences from attending this years Google I/O and also cover the brand new Android M APIs. 

Register here: https://www.eventbrite.co.uk/e/appsolutely-liverpool-post-io-discussions-tickets-16989841072
2 comments on original post
1
Add a comment...

Andrei Catinean

Shared publicly  - 
 
 
Example scroll aware FAB Behavior
In the Android Design Support Library [1], we introduced CoordinatorLayout and CoordinatorLayout.Behavior: a framework for rich interactions between views.

On my Design Library post [2], +Bruce too had an excellent question: how do I receive scroll events (say, to hide/show the FAB like G+ does) when there isn't a ListView.setOnScrollListener()? The answer is Behaviors: their onStartNestedScroll() and onNestedScroll() methods make it easy to interact with scroll events.

So I decided to put it to the test with cheesesquare [3]: how can you make your FAB scroll aware, hiding when the user scrolls down and showing when they scroll back up? Turns out, the actual Behavior part is incredibly easy: just two methods to override and remembering to put the app:layout_behavior XML attribute on the FAB, overriding the default FAB behavior with my custom Behavior.

The vast majority of my code was in putting together the actual animation itself: I chose to mimic the FAB's scale/alpha animation used when an overlapping AppBarLayout enters/exits the screen. Of course, you could use any animation or just simply set it VISIBLE or GONE.

You'll note that the Material Design specs for FAB [4] don't have this type of pattern listed, so I'd definitely consider long and hard on if it is the best thing to do - completely hiding things based on scroll without an anchoring view (as is the case in the cheesesquare's detail screen) can be more difficult for new users to work with - some don't know you need to scroll up for the FAB to return!

[1] - http://android-developers.blogspot.com/2015/05/android-design-support-library.html
[2] - https://plus.google.com/+IanLake/posts/QGR5XNcPPeG
[3] - https://github.com/chrisbanes/cheesesquare
[4] - http://www.google.com/design/spec/components/buttons-floating-action-button.html
Hides the FAB when the user scrolls down and shows it when they scroll back up. Reuses the same animation that FloatingActionButton.Behavior uses for hiding/showing the FAB in reaction to the AppBarLayout exiting/entering.
20 comments on original post
1
Add a comment...

Andrei Catinean

Shared publicly  - 
 
 
We at +Novoda just released a cool library to help Espresso testing for apps using RxJava. Check it out !
RxPresso, a new library to make Espresso UI testing easy for Android applications using RxJava.
View original post
2
Add a comment...
Have him in circles
364 people
Vasile Ghencea's profile photo
Juan Miguel Olivares Merlos's profile photo
Vlad Gorgan's profile photo
Anaii Lee - Ender's profile photo
Jimmy Hernandez's profile photo
Arne Stockmans's profile photo
Panos Manolopoulos's profile photo
Peter Miklosko's profile photo
Siddharth Panchal's profile photo

Andrei Catinean

Shared publicly  - 
 
 
You're doing caching wrong
We all fetch data  from server side resources, but how many of you are aggressively managing the caching characteristics to optimize performance? I found this article really helpful in trying to get all the right flags right.

  #perfmatters  
2 comments on original post
1
Add a comment...

Andrei Catinean

Shared publicly  - 
 
Great article of how we've built an Android Auto unit at +Novoda​.
 
Make your own Android Auto demo unit like we did here at +Novoda,  parts lists and a walk through available now: http://novoda.com/blog/the-making-of-an-android-auto-demo-unit
1 comment on original post
6
1
Marius Mailat's profile photo
Add a comment...

Andrei Catinean

Shared publicly  - 
 
 
Introducing SQLScout: a plugin for Android Studio and IntelliJ IDEA that provides support for SQLite, including:

✓ Ability to connect to SQLite databases in Android devices or the file system
✓ Database schema explorer
✓ SQL editor (syntax highlighting, code completion, reference navigation, refactoring, etc.)
✓ Data console to view query results, edit table data, and export contents to different formats
✓ Database diagrams!

For more details (including demos and beta access) please visit http://www.idescout.com

#AndroidStudio   #sqlite   #androiddev  
18 comments on original post
1
Add a comment...

Andrei Catinean

Shared publicly  - 
 
 
The new support annotations are now included in http://tools.android.com/tech-docs/support-annotations

And (drumroll please) : as of 1.3, all these annotations are now not only checked within the IDE, but are checked from lint on the command line/on your build server as well! (Except for the nullness annotations.)
15 comments on original post
1
Add a comment...

Andrei Catinean

Shared publicly  - 
 
One of the newly Android M announced APIs that caught my eyes is Data Binding.

I see the aim of easing the developers' work by avoiding boilerplate code, but by overusing it you can go on a really slippery slope.

#androiddev  
5
7
Vladimir Bjelakovic's profile photoDaniele Bonaldo's profile photoFahad Ayaz's profile photoEson Jack's profile photo
3 comments
 
Your absolutely spot on emphasizing it.
Add a comment...
Andrei's Collections
People
Have him in circles
364 people
Vasile Ghencea's profile photo
Juan Miguel Olivares Merlos's profile photo
Vlad Gorgan's profile photo
Anaii Lee - Ender's profile photo
Jimmy Hernandez's profile photo
Arne Stockmans's profile photo
Panos Manolopoulos's profile photo
Peter Miklosko's profile photo
Siddharth Panchal's profile photo
Work
Occupation
Android Development
Employment
  • Novoda
    Android Craftsman, 2014 - present
  • GDG Cluj-Napoca
    Co-Organizer, 2012 - present
  • Appsrise
    Android Software Engineer, 2013 - 2014
  • ArtSoft Consult
    Android Developer, 2011 - 2013
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
London
Previously
Cluj-Napoca - Ludus - Pitesti
Links
Contributor to
Links
Story
Tagline
Android developer, Google technologies enthusiast
Introduction
Passionate Android developer and technology enthusiast. 
Bragging rights
8 kyu (blue belt) Kyokushin fighter
Education
  • Universitatea Tehnica Cluj Napoca
    Computer Science, 2009 - 2013
  • Colegiul National "I.C. Bratianu", Pitesti
    Matematica - Informatica Bilingv Engleza, 2005 - 2009
Basic Information
Gender
Male
Apps with Google+ Sign-in
  • GDG
  • 2048++
  • Sky Force 2014
Nice and cosy. The Bratwürste are very good!
Public - 3 years ago
reviewed 3 years ago
1 review
Map
Map
Map