package com.asha.nightowllib.observer.impls; import android.annotation.TargetApi; import android.app.Activity; import android.content.res.TypedArray; import android.os.Build; import android.view.Window; import com.asha.nightowllib.observer.IOwlObserverWithId; /** * Created by hzqiujiadi on 15/11/9. * hzqiujiadi ashqalcn@gmail.com */ public class StatusBarObserver implements IOwlObserverWithId { int mStatusBarColor; int mStatusBarColorNight; @TargetApi(Build.VERSION_CODES.LOLLIPOP) public StatusBarObserver(Activity activity, TypedArray a, int attr) { Window window = activity.getWindow(); mStatusBarColor = window.getStatusBarColor(); mStatusBarColorNight = a.getColor(attr,mStatusBarColorNight); } @Override public int getObserverId() { return StatusBarObserver.this.hashCode(); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) @Override public void onSkinChange(int mode, Activity activity) { activity.getWindow().setStatusBarColor( mode == 0 ? mStatusBarColor : mStatusBarColorNight); } }