Android 12 is here

Android 12 is here

Android 12 is here

User Interface

After many years, I guess google has pleasantly surprised me and have even raised my expectations as well with stock android and this android 12 is code named Snow Cone and material design branded as Material You. In fact, I am confused whether to call this stock android or not, because when you think of stock android you get a feeling of DATED UI, not much as personalization & this android 12 is exactly opposite. Yes, it’s looks like modern UI. HUGE! HUGE! Change in the way stock android looks. When you pull down the notification you think which UI is this but it’s stock android.

Colors & all are very nice, icons have rounded edges and look very modern. Android 12 also gives you lots of personalization options. Yes, I don’t think we’ve got this level of personalization in the previous year’s but android 12 goes next level. Some comparing this to MIUI, real me UI this feels one step forward.

For example: - Changing the wallpaper of your phone will also change the system color’s, accent color, background color automatically depending on your wallpaper. That’s really good.

It means you don’t have to change the theme on your phone just change the wallpaper and look & feel will be automatically changed.

USER EXPERIENCE TOOLS

  • AVIF image support.
  • Compatible media transcoding.
  • Easier blurs, color filters and other effects.
  • New camera effects and sensor capabilities.
  • Android 12 for games.

Privacy

  • Whenever an app uses the camera or microphone, you’ll be alerted with little dots in your status bar. This will make you aware of apps using camera or microphone.
  • Users have better control over their location data, and they can grant your app access to approximate location even if it requests accurate location.
  • A new dashboard in settings gives users better visibility over when your app accesses microphone, and location data.

What’s New For developers

  • Splash Screen:- Android 12 adds the Splash Screen API, which allows a new app launch animation for all apps when running on a device with Android 12 or greater. This consist an into-app motion at launch, a splash screen showing your app icon, and a transition to your app itself.
  • We can set theme for the Splash Screen to change its appearance

  1. Use WinodwSplashScreenBackground to fill the background with a specific single color.
  2.  
        <item name="android:windowSplashScreenBackground">@Colour
        </item>
    
    
  3. Use WindowSplashScreenAnimatedIcon to replace an icon in the center of the starting window.
  4.  
        <item name="android:windowSplashScreenanimatedIcon">@Drawable
        </item>    
    
    
  5. Use WindowSplashScreenAnimationDuration to indicate the duration of splash screen.
  6.  
        <item name="android:windowSplashScreenanimationduration">1000
        </item>     
    
    
  • Call notifications allowing for ranking importance of incoming calls :- Android 12 adds the new notification style Notification call style for phone calls. Using this template lets your app indicate the importance of active calls by displaying a prominent chip that shows the time of the call in the status bar; the user can tap this chip to return to their call.
    Because incoming and ongoing calls are the most critical to users, these notifications are given top ranking in the shade. This ranking also allows the system to potentially forward these prioritized calls to other devices.
  • Implement the following code for all types of calls.
  •  
        // Create a new call with the user as caller.
        var incoming_call = Person.Builder()
         .setName("Abhishek Mishra")
         .setImportant(true)
         .build()
    
    
  • Use for incoming call() to create a call style notification
  •     
        // Create a call style notification for an incoming Call.
        var builder = Notification.Builder(context, ID)
            .setContentIntent(contentIntent)
            .setSmallIcon(smallIcon)
            .setStyle(
                Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
            .addPerson(incoming_call)
    
    
  • Use for ongoing call() to create call style notification
  •     
        // Create a call style notification for an ongoing call.
        val builder = Notification.Builder(context, CHANNEL_ID)
            .setContentIntent(contentIntent)
            .setSmallIcon(smallIcon)
            .setStyle(
            Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
            .addPerson(second_caller)
    
        
    
  • Use for screeningCall() to create call style notification
  •     
        // Create a call style notification for screening a call.
            val builder = Notification.Builder(context, CHANNEL_ID)
            .setContentIntent(contentIntent)
            .setSmallIcon(smallIcon)
            .setStyle(
            Notification.CallStyle.forScreeningCall(caller, hangupIntent,                        answerIntent))
            .addPerson(second_caller)
    
        
    
  • Enable full screen mode:- nonethless of which fullscreen mode you want to use, you must call setSystemUiVisibility() and pass it either SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_FULLSCREEN , or both. You can include either SYSTEM_UI_FLAG_IMMERSIVE (for regular immersive mode) or SYSTEM_UI_FLAG_IMMERSIVE_STICKY (for sticky immersive mode), or exclude both to enable lean back mode.
  • There are many other features for developer option like:-

  • Recent URL sharing which is only available in pixel devices
  • Bluetooth permission which consist Bluetooth scan , advertise,Bluetooth connect etc.
  • Hide application overlay window
  • Device properties attestation
  • Media drm updates
  • Easier blurs, color filters, and other effects
  •     
        View.setrendereffect(rendereffect.createBlurEffect(radX,radY,SHADER_TILL_MODE)
        
    
I Hope you enjoy this blog

Thank You

Want a Team that Delivers Result ? Connect now with us.

-

Our Offices

INDIA

F-429, Phase 8B, Industrial Area, SAS Nagar, Punjab 160059

+91 82198-18163

USA

13506 Summerport Village Pky Suite 355 Windermere, FL 34786

+1 (321) 900-0079

CANADA

15 Meltwater Cres, Brampton L6P3V8

+1 (647) 892-6147