Cover photo
Hasan Hosgel (alosdev)
Works at Immobilien Scout GmbH
Attended Beuth Hochschule für Technik Berlin
Lives in Berlin
779 followers|460,035 views


Hasan Hosgel

Shared publicly  - 
A wonderful view from Berlin rooftop
Add a comment...
now we have the schedule for #android  #developer #days
Here is the schedule of Android Developer Days!

#gdg #AndroidDevDays
Resul Kocyigit's profile photo
Add a comment...

Hasan Hosgel

Shared publicly  - 
I totally agree
Dear Internet,

Stop assuming that everyone is in the USA. This means when you write articles like 'Google Glass is available to everyone today!' - its not, its only available to the USA.
When you  do things like 'Its Pi Day!' or  'its Palindrome week!' - again, its not, its only in the USA where the date format is backwards.

When you have a hangout, meeting, or request work online. When somebody asks your time zone, please be specific  - 'east coast' is not a timezone, neither is 'Pacific' (I live in the pacific!)
Even saying 'CST' can be anything from -6 to +8 hours since there are multiple time zones using that abbreviation ( )

Yours Sincerely
Annoyed and needing coffee
Emanuel Kuhn's profile photoBastian Buch's profile photo
Add a comment...

Hasan Hosgel

Shared publicly  - 
next try for registration #io14 . tomorrow starts the registration for the io ticket lottery.
Add a comment...

Hasan Hosgel

Shared publicly  - 
nice sum up! ;)
Daniel Stobbe's profile photoJan Friderici's profile photo
Add a comment...
Have him in circles
779 people
stephanie kaiser's profile photo
Stephan Brunner's profile photo
Jan-Philipp Heinrich's profile photo

Hasan Hosgel

Shared publicly  - 
some how I get popular at I don't know why and how, but nevertheless I'm honored.
Stefan Hoth's profile photoHasan Hosgel's profile photoArvid Gerstmann's profile photo
an epic one :)
Add a comment...
finally a complete #android  #lifecycle #diagramm!
After struggling with trying to figure out how various pieces fit together, I've done some research and put together the complete Android Activity/Fragment lifecycle chart. This has two parallel lifecycles (activities and fragments) which are organized vertically by time. Lifecycle stages will occur in the vertical order in which they're displayed, across activities and fragments. In this way, you can see how your fragments interact with your activities.

In addition to the attached image, I've also got an SVG: which is suitable for printing.

If this is missing lifecycle steps or is inaccurate in any way, let me know so I can update it!

#Android #androiddev  
Marc Prengemann's profile photoYasin Yildirim's profile photoLinton Ye's profile photoJens Berndt's profile photo
themes like "keep it simple" is overrated
Add a comment...
Now the fireside chat starts @ #google #cloud #platform #roadshow with the speakers today
Add a comment...
great post about #playstore  new feature! by +Kirill Grouchnikov 
Thanks for the good insight!
With a bit more emphasis on content recommended by your friends, we wanted to make people avatars in Play Store more visually pleasing. In our previous release the avatars were round with a thin translucent grey outline, and in our latest release the visuals are a bit more polished. There's a white ring surrounding the avatar, and an offset drop shadow, with both of these scaling to match the overall size of the avatar. Let's talk more about the specifics.

The avatars themselves are fetched from the network, which gives us a square - and sometimes rectangular - source image. Our first step is to create a normalized square image based on the target dimensions on the screen. That normalized image preserves the source aspect ratio, upscaling the source if necessary to fill at least one dimension edge-to-edge and filling the second dimension with white pixels (taking care of non-square sources). This is done with Canvas.drawBitmap that takes a source and destination rectangles as the parameters.

The next step is to compute the pixel size of the ring outline and the drop shadow. The ring outline starts at 1dip and is capped at 4dips, while the drop shadow starts at 2dips and is capped at 3dips. The actual size is determined based on the avatar size, setting the cap at 96x96dips (based on our current design metrics). This results in visuals that scale with the avatar size (seen below), while still capping the ring and drop shadow to not be too big for larger avatars.

Now it's time to take a look at the avatar layers. We have the avatar itself cropped to a circular shape, the ring outline and the drop shadow. In our first implementation pass we used Paint.setShadowLayer to combine the last two together into a single Canvas operation. We first painted the white ring, and then the avatar itself (since the drop shadow extends to both sides of the path, and we didn't want the shadow to be visible on top of the "inner" image). However, the runtime performance of shadow layer was not very satisfactory. It took about 2.5ms to draw a single outline, and when we had a few avatars on the screen, the numbers started adding up.

Instead, we're doing three separate layers.

First, we draw the drop shadow as Canvas.drawOval with a single translucent grey color. We use Paint.setStrokeWidth to set the interpolated drop shadow size, and Paint.setColor to set the interpolated drop shadow color (for larger shadows we use more translucency to keep the same overall shadow "weight" across different avatar sizes).

Second, we draw the avatar itself. We create a BitmapShader with the normalized square avatar source and TileMode.CLAMP and set it with Paint.setShader. Using that Paint object on a Canvas.drawRoundRect call results in the circular crop of the source image. There's some extra bookkeeping to make sure that we're scaling down the normalized source to make the white ring outline external to the image, not losing the few top/bottom/left/right pixels. This can be done with a combination Canvas.scale and Canvas.translate operations to keep the scaled-down avatar centered on canvas.

Third, we draw the ring outline as Canvas.drawOval with opaque white color. We use Paint.setStrokeWidth to set the interpolated ring outline size.

There's a bunch of small objects used for the custom drawing operations, usually involving a mix of Paint and Rect ones. It's recommended to create them once at the class level, initializing as much of the state as you can in your constructor. Then, during the actual transformation / draw operations that can happen multiple times during the layout / render passes, only set those fields that are dynamic (size / color). This way you won't be creating transient objects which are discarded after they're used - saving yourself from unexpected GC pauses in the middle of your rendering. Also try to use Canvas operations (transforms, scaling) instead of creating intermediate Bitmap objects. And measure every step to make sure that you're not using operations that are too expensive.

Happy pixel pushing!
Eugene Beletskiy's profile photo
Add a comment...
Have him in circles
779 people
stephanie kaiser's profile photo
Stephan Brunner's profile photo
Jan-Philipp Heinrich's profile photo
  • Beuth Hochschule für Technik Berlin
    Bachelor of Science, 2006 - 2009
  • Technische Fachhochschule Berlin
    Medieninformatik, 2006 - 2009
  • FH Brandenburg
  • Deutsche Post IT Solutions
    Trainee (Fachinformatiker für Anwendungsentwicklung, 2001 - 2004
Basic Information
October 24
Mobile Developer
  • Immobilien Scout GmbH
    Mobile Developer, 2007 - present
  • Jamba GmbH
    Senrio J2EE Engineer, 2004 - 2007
  • Deutsche Post ITSolutions
    Developer, 2004 - 2004
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Hasan Hosgel (alosdev)'s +1's are the things they like, agree with, or want to recommend.
Google I/O 2014

Google I/O 2014 brings developers together for an immersive, two-day experience focused on exploring the next generation of technology. Join


The German Silicon.Berlin Hotspot

Ende eines Trends?: Berlin ist nicht mehr die coolste Stadt der Welt - B...

Berlin verliert seinen unfertigen Charme – und fällt im Rating der Trendsetter zurück. Die Berliner Szene ist inzwischen alarmiert und verun

Google kauft WhatsApp-Konkurrenten Threema für fünf Milliarden Dollar

Zürich, Mountain View (dpo) - Der Internet-Konzern Google kauft die Instant-Messenger-Anwendung Threema für insgesamt fünf Milliarden Dollar

Play Services

Google Play Services se usa para actualizar las aplicaciones de Google y las aplicaciones de Google Play. Este componente proporciona funcio

Biernominierung: Bereits über 4000 Jugendliche an halbem Liter Bier auf ...

Berlin (dpo) - "Biernominierung", "Social Beer Game", "Neknominate": Das Grauen hat viele Namen, doch egal, wie es sich nennt, es kann nicht


CheapCast is an app that aims to emulate the ChromeCast Dongle. It allows your Android Device to act as target (1st Screen) for ChromeCast-e

WhatsApp Messenger

¡Descarga WhatsApp y olvídate de los SMS! WhatsApp Messenger es un mensajero multiplataforma disponible en Android y en todos otros teléfono

droidconNL 2013

The largest Android conference in The Netherlands is back with a great line up of talks and the Big Android BBQ and Girl Geek Dinner. Plan w

DevFest Berlin 2013

Here you'll get all the information you need on the DevFest Berlin 2013

Istanbul: Kein Mokka mehr, kein Raki

Wird Istanbul zu Tode modernisiert? Unser Korrespondent Michael Thumann verabschiedet sich nach sechs Jahren von seiner Stadt

Best Practices to develop for different Android Device Classifications b...

This Session will give a best practices from the Immobilienscout24 Development for the different Android device classifications. During this

Studie: Abschiebung von Nazis würde Staatskasse um Milliarden entlasten

Berlin (dpo) - Eine neue Studie im Auftrag des Wirtschaftsministeriums sorgt derzeit in Berlin für Aufregung. Aus ihr geht hervor, dass die

Bei Googles "Ingress" wird die Welt zum Spielfeld

Das Google-Spiel „Ingress“ begeistert weltweit. Die Nutzer können in ihrer Stadt ein Viertel in ihren virtuellen Besitz nehmen. Um Gegnern G

Leistungsschutzrecht: Springer knickt vor Google ein

Am Donnerstag ist es so weit. Das umstrittene Leistungsschutzrecht tritt in Kraft. Über Sinn und Unsinn des Gesetzes haben viele Menschen ge

Styling Android » Gradle Build – Part 4

Previously in this series we've looked at getting a simple Gradle build working and also seen how we can tinker with the source trees to do

TV: Philips Ambilight und Hue leuchten im Duett -

Philips hat einen neuen Fernseher vorgestellt, dessen umlaufender Ambilight-Leuchtrahmen zusammen mit den Hue-LED-Lampen von Philips zusamme


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

Really good Italian
Public - 3 months ago
reviewed 3 months ago
echt leckeren und reichhaltigen Brunch
Atmosphere: ExcellentDecor: ExcellentService: Excellent
Public - a year ago
reviewed a year ago
Echt nette Leute hier.
Appeal: ExcellentFacilities: ExcellentService: Excellent
Public - a year ago
reviewed a year ago
4 reviews
Atmosphere: ExcellentDecor: ExcellentService: Excellent
Public - a year ago
reviewed a year ago