Profile

Cover photo
Zan Markan
Works at Marks & Spencer
Attended Faculty of Electrical Engineering and Computer Science, Maribor
Lives in London
393 followers|147,411 views
AboutPostsPhotosYouTube+1'sReviews

Stream

Zan Markan

Shared publicly  - 
 
 
We just pushed Espresso 2.0 and AndroidJUnitRunner source to AOSP. We are looking forward to all of your contributions!

Initialize your build environment
https://source.android.com/source/initializing.html

Install Repo
https://source.android.com/source/downloading.html

Checkout android-support-test branch
repo init -u https://android.googlesource.com/platform/manifest -g all -b android-support-test

Sync the source
repo sync -j24

Browse the source
cd frameworks/testing

Build and test
// Just build debug build type
./gradlew assembleDebug
// Run tests
./gradlew connectedCheck

Contribute
https://source.android.com/source/life-of-a-patch.html
c851b02 Remove legacy clang prebuilts, and update 3.6 to use appropriate groups. by Stephen Hines - 11 days ago master · 3bf3364 Remove external/apache-qp by Conley Owens - 5 months ago; 8bc0273 Remove external/lzma by Conley Owens - 13 days ago; d5bde6b Revert "Add platform/external/boringssl" ...
5 comments on original post
1
Add a comment...

Zan Markan

Shared publicly  - 
 
A valid question.
 
When you smell caffeine while urinating, should you have:
454 votes
Less coffee, because that's disturbing
19%
More coffee, because you just lost some
81%
10 comments on original post
1
Add a comment...

Zan Markan

Shared publicly  - 
1
Add a comment...

Zan Markan

Shared publicly  - 
 
 
Android Studio - Migration from maven central to jcenter

Some of the points:
1. jcenter is the new default repository used with Android’s gradle plugin.

2. jcenter is a Java repository in Bintray, which is the largest repo in the world for Java and Android OSS libraries, packages and components.

3. All the content in jcenter is served over a CDN, with a secure https connection. Where as the central maven 2 repository is HTTP only and HTTPS is not supported. (This might be one of the reasons as Google is a fan of HTTPs!).

4. jcenter() is a superset of mavenCentral(), that encompasses many additional repositories and artifacts.

5. The jcenter guys claim, that they have a better performance than maven central.

6. Bintray has a different approach to package identification than the legacy Maven Central.

P.S. Actually part - 10 of the lazy android developer series should be posted but that's a guest post so waiting for the same!

#AndroidDev #JCenter #MavenCentral
View original post
2
Add a comment...

Zan Markan

Shared publicly  - 
 
 
Android Studio / Intellij Tip of the Day: tools:attribute

If you have ever entered some testing text in a TextView to see how it looks in the previewer, then this is for you.
For any attribute in the xml that has the pattern 'android:something="value"', you can add a new attribute named 'tools:something="value"' and it will be picked up by the previewer but ignored in your app. Then you can leave default values that makes sense to visualize the layout without impacting the final build. 

Two things that you should check using the tools namespace:
  1) Text that will be set at runtime (so that you don't try to visualize an empty layout)
  2) Stuff that is dynamically changed later (e.g. visibility)

To configure the tools namespace, put this in the root tag of your layout (under the android xmlns):
  xmlns:tools="http://schemas.android.com/tools"

#androiddev #protip #androidstudioprotip
14 comments on original post
1
Add a comment...

Zan Markan

Shared publicly  - 
 
Jolly Lolly! :) 
 
Introducing #Android 5.0, Lollipop, and the latest #Nexus devices: Nexus 9, Nexus 6 and Nexus Player → http://goo.gl/vTJfMq
164 comments on original post
1
Add a comment...

Zan Markan

Shared publicly  - 
 
new blogpost: Using Proguard with Raygun 
I've recently had some fun trying to make Raygun and Proguard play nicely in one of our Android application so I think it might help some people. If you know what each of these tools do, just skip to the Problem section, otherwise, keep reading. Note: the examples I'll be using are going to be ...
1
Add a comment...
Have him in circles
393 people
Jan Dolar's profile photo
Robin Fitzpatrick's profile photo
Mott Marvin Kornicki's profile photo
Aurelijus Visagurskis's profile photo
Radovan Savernik's profile photo
vanco grizov's profile photo
Finance and Investment News's profile photo
Europe's profile photo
Clash Of Clans - Top Video 2015's profile photo
 
 
How to attach own implementation instead of Mocks in Android Studio Unit Tests?

Android Studio Unit Testing - great feature! but it has several issues that are not resolved right now. I highlighted them in my previous post. Today I will introduce one of possible approaches that will allow to adjust this feature for real life projects...

I create a small extension to gradle scripts that helps to achieve this. You should do several simple steps:
Step 1:  include into Unit tests own implementation of android class that you want to replace. Package name should be the same as in android Jar.

Preview: http://tinyurl.com/ovlbz3a

Step 2: adjust gradle for including our implementation into tests. Actually I did opposite: I exclude mock class from android jar!

Preview: http://tinyurl.com/nex7qfy

Same in text for copy/paste:

afterEvaluate {
    /* Adjust Mockable Android task  */
    tasks.matching { it.name.startsWith('mockableAndroidJar') }.each { mock ->
        // http://goo.gl/wXhBIF --> MockableJarGenerator.java
        mock.finalizedBy patchMockableAndroidJar
    }

/* Create a copy of original mockable Jar */
task copyMockableAndroidJar(type: Copy) {
    from "${project.buildDir}\\intermediates\\mockable-android-${androidTargetSdkVersion}.jar"
    into "${project.buildDir}\\intermediates\\"

    rename { String fileName ->
        fileName.replace("mockable-android-${androidTargetSdkVersion}.jar",
                "mockable-android-${androidTargetSdkVersion}-original.jar")
    }
}
/* Exclude classes that we want to replace by own implementation  */
task patchMockableAndroidJar(type: Zip, dependsOn: copyMockableAndroidJar) {
    description = 'patch mockable-android-${api}.jar by own classes'
    group = 'Code Quality'

    // set archive name and destination
    destinationDir = file("${project.buildDir}\\intermediates")
    archiveName = "mockable-android-${androidTargetSdkVersion}.jar"
    def source = "${project.buildDir}\\intermediates\\mockable-android-${androidTargetSdkVersion}-original.jar"

    // exclude from Mocks Jar classes which we replace by own implementation
    from(zipTree(source)) {
        exclude '**/android/util/SparseArray.class'
    }
}

Step 3: Customization for own needs.

Important to modify lines by adding more classes to exclude:
exclude '*/android/util/SparseArray.class'* 

Important to keep the same package name for android classes!

Afterwords:
solution has own "dark side" - with it is hard to replace class by Mockable instance that generated in runtime... Another complexity is a requirement to included classes - their implementation may have dependencies on other classes and that can be hard to resolve. 
Solution recommended only for "low level" generic classes.

Tags: #android   #androidstudio   #unittesting   #gradle   #mocks  
4 comments on original post
1
Add a comment...

Zan Markan

Shared publicly  - 
 
 
Samsung what are you doing?

Samsung

Samsung stahp

stahp

STAHP
11 comments on original post
1
Add a comment...

Zan Markan

Shared publicly  - 
 
Yay! :)
 
Today we are making an early, experimental version of Jack and Jill available for testing. If you are interested in giving the new toolchain a try with non-production versions of your apps, we encourage you to give us your feedback. The blog post below describes how the toolchain works, how to configure it, and how to let us know of your feature requests and any bugs you find.

#AndroidDev  
24 comments on original post
1
Add a comment...

Zan Markan

Shared publicly  - 
 
 
Day 2 of #OnePlus #InsanityWeek - we’re giving away 2! Share this message & share the Insanity! http://bit.ly/InsanityWkDAY2

1/ Share the following post with the hashtag #OnePlus #InsanityWeek

2/ Fill out the following form: http://bit.ly/InsanityWeekD2

3/ Join the OnePlus Forums or sign up for the newsletter

4/ Go insane!

The contest for Day 2 starts now and will close on Wednesday, October 15 at 12.00 pm (6.00 am CST). It is only open to participants from our 16 launch countries.

More info about this contest: http://bit.ly/InsanityWkDAY2
496 comments on original post
1
Add a comment...
People
Have him in circles
393 people
Jan Dolar's profile photo
Robin Fitzpatrick's profile photo
Mott Marvin Kornicki's profile photo
Aurelijus Visagurskis's profile photo
Radovan Savernik's profile photo
vanco grizov's profile photo
Finance and Investment News's profile photo
Europe's profile photo
Clash Of Clans - Top Video 2015's profile photo
Work
Occupation
Space Cowboy
Employment
  • Marks & Spencer
    Software Engineer, 2013 - present
    Android, ActionScript and automation magic.
  • EqualEyes Solutions Limited
    Chief Space Cowboy, 2012 - 2013
  • 2ndSight
    Co-Founder, Devel's Advocate, 2011 - 2012
  • EESTEC LC Maribor
    Chairman, 2010 - 2012
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
Velenje - Maribor
Links
YouTube
Contributor to
Story
Tagline
Hackers gonna hack, Rockets gonna rock.
Introduction
Software engineer @ Marks & Spencer
Doing Android and Actionscript stuff mainly.

Also Chief Space Cowboy @ EqualEyes Solutions Ltd
building the inclusive design smartphone for people with disabilities.

I like tech, space and challenges, old school R&R and burning rubber. 



Bragging rights
I live on the internets and feed on information
Education
  • Faculty of Electrical Engineering and Computer Science, Maribor
    CS (MS), 2012
  • Faculty of Electrical Engineering and Computer Science, Maribor
    ICT (BS), 2007 - 2010
Basic Information
Gender
Male
Apps with Google+ Sign-in
Zan Markan's +1's are the things they like, agree with, or want to recommend.
GitHub
market.android.com

Create, manage, and discuss issues and stay up to date with an integrated news feed for all your organizations, friends, and repositories.Vi

Marks & Spencer
market.android.com

We have listened to all of your feedback and are happy to introduce the new M&S app including our latest and most requested feature - ‘My Of

Toshl Finance Budget & Expense
market.android.com

★★★★★ "Of all the apps for monitoring spending, one of the hardest to beat is Toshl Finance.” - New York Times ★★★★★ "Now I know where my mo

Juggle Cup: Football game
market.android.com

Always keep the football in the air by tapping just in the right moment. Simple rules, simple concept, easy to learn in less than a minute b

Android Versioning Hell in the CI-land - zmarkan's blog
www.spacecowboyrocketcompany.com

Thing is that gradle android plugin will create a new AndroidManifest.xml file (well more than one, one for each build flavour), and it'll d

Beginning TDD - zmarkan's blog
www.spacecowboyrocketcompany.com

Last Wednesday, my colleagues @Hetal_Patel and @cpatuzzo and myself ran a Hands-On session with the same name at the London Software Craftsm

Gradle, please
gradleplease.appspot.com

Gradle, please. dependencies { // Google Play Services compile 'com.google.android.gms:play-services:' // Support Libraries compile 'com.and

Google I/O 2013
developers.google.com

Google I/O 2013 brings together thousands of developers for three days of deep technical content focused on building the next generation of

RaygunAS - the best crash reporting library for Adobe Air apps in the 'V...
zmarkan.github.io

Actionscript is a nice little language, I find it great to code in. Relying on Adobe isn't smart, as you can figure out just by looking at t

The evolution of the web
www.evolutionoftheweb.com

Interactive infographic about the evolution of browsers and the web. This infographic features major web browsers since 1993 such as Mosaic,

Halloween Pebble
market.android.com

Halloween Pebble Watch A photo gallery of Halloween digital and analogue templates for your Pebble smart watch. More than 100 Halloween watc

Pebble watch tutor
market.android.com

Pebble Smart watch tutor is the ultimate language learning experience for your Pebble smart watch! Each time you glance at your Pebble, you’

Pebble apps
market.android.com

Discover great applications for your Pebble smart watch! Being a proud Pebble smartwatch owner I had a problem finding apps amidst the marke

ČAS-OPIS: Vas moti Mišič? Popravite sistem, ki ga je rodil
blog.zturk.com

Luka Koper je dobila novega predsednika uprave, ki ima poleg priimka dve enaki imeni, samega sebe imenuje za vlečnega konja in je izumil tis

Ingress
market.android.com

*****Ingress is a closed-beta right now. Request an invite at http://www.ingress.com*****Ingress transforms the real world into the landscap

EqualEyes Accessibility
market.android.com

EqualEyes is a neat, versatile and accessible platform for people with vision problems.* Voice feedback using built-in android text-to-speec

Google Translate
market.android.com

Break through language barriers with Google Translate:• Translate text and speech between more than 60 languages • Listen to your translatio

Android
plus.google.com

A place for Android fans everywhere to meet, share and get the latest on all things Android.

hard to get a seat, hard to understand the barkeep, but great pub nevertheless
Public - 2 months ago
reviewed 2 months ago
Waited over 1 hour for food, had to ask for manager over payment dispute
Public - 2 months ago
reviewed 2 months ago
3 reviews
Map
Map
Map
Awesome pub!
Public - 5 months ago
reviewed 5 months ago