Search code examples
androidwear-os

Is there any way to detect if the clock is round?


Might be I missed something but is there any flag for knowing if the clock is round or square?

I could imagine that this is important if you want to design the background of the notifications.


Solution

  • Update for API 23:

    To determine if the screen is round you can use

    context.getResources().getConfiguration().isScreenRound()
    

    Android reference

    Or you can use the round and notround resource qualifiers and let the system apply the proper resources but beware that this will not work on devices running API 22 or lower

    Source

    Thanks to people who pointed out this change.

    Old asnwer

    From google I/O talk (https://www.youtube.com/watch?v=naf_WbtFAlY#t=284):

    From SDK 20 android.view.View class has

    public void setOnApplyWindowInsetsListener(OnApplyWindowInsetsListener listener)
    

    and OnApplyWindowInsetsListener has a callback method onApplyWindowsInset

    public WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets){
    
        if (windowInsets.isRound()){
            //Do stuff
        }
    
    }