//package com.tekinarslan.material.sample.base.handler; // //import android.content.Context; //import android.content.res.TypedArray; //import android.support.annotation.NonNull; //import android.support.v7.internal.view.menu.BaseMenuPresenter; //import android.support.v7.internal.view.menu.MenuPresenter; //import android.support.v7.widget.ActionMenuView; //import android.support.v7.widget.Toolbar; //import android.view.View; // //import com.asha.nightowllib.NightOwlUtil; //import com.asha.nightowllib.handler.annotations.OwlHandle; //import com.asha.nightowllib.handler.impls.AbsSkinHandler; //import com.asha.nightowllib.paint.IOwlPaint; // //import java.lang.reflect.Field; // ///** // * Created by hzqiujiadi on 15/11/11. // * hzqiujiadi ashqalcn@gmail.com // */ //@OwlHandle(Toolbar.class) //public class ToolbarHandler extends AbsSkinHandler implements OwlCustomTable.OwlToolbar { // public ToolbarHandler() { // } // // public static class PopupThemePaint implements IOwlPaint { // private static Field sActionMenuViewField; // private static Field sPresenterField; // private static Field sContextField; // static { // try { // sActionMenuViewField = Toolbar.class.getDeclaredField("mMenuView"); // sActionMenuViewField.setAccessible(true); // // sPresenterField = ActionMenuView.class.getDeclaredField("mPresenter"); // sPresenterField.setAccessible(true); // // sContextField = BaseMenuPresenter.class.getDeclaredField("mContext"); // sContextField.setAccessible(true); // } catch (NoSuchFieldException e) { // e.printStackTrace(); // } // } // @Override // public void draw(@NonNull View view, @NonNull Object value) { // Toolbar toolbar = (Toolbar) view; // int themeId = (int) value; // try { // ActionMenuView actionMenuView = (ActionMenuView) sActionMenuViewField.get(toolbar); // if ( actionMenuView == null ){ // toolbar.getContext().setTheme(themeId); // } else { // MenuPresenter presenter = (MenuPresenter) sPresenterField.get(actionMenuView); // Context context = (Context) sContextField.get(presenter); // context.setTheme(themeId); // } // // } catch (IllegalAccessException e) { // e.printStackTrace(); // } // toolbar.setPopupTheme((Integer) value); // } // // @Override // public Object[] setup(@NonNull View view, @NonNull TypedArray a, int attr) { // Toolbar toolbar = (Toolbar) view; // int theme1 = toolbar.getPopupTheme(); // int theme2 = a.getResourceId(attr,0); // return new Integer[]{theme1,theme2}; // } // } // // public static class TitleTextColorPaint implements IOwlPaint { // // @Override // public void draw(@NonNull View view, @NonNull Object value) { // Toolbar toolbar = (Toolbar) view; // int color = (int) value; // toolbar.setTitleTextColor(color); // } // // @Override // public Object[] setup(@NonNull View view, @NonNull TypedArray a, int attr) { // Toolbar toolbar = (Toolbar) view; // int color1 = NightOwlUtil.getFieldIntSafely(Toolbar.class, "mTitleTextColor", toolbar); // int color2 = a.getColor(attr,color1); // return new Integer[]{ color1,color2 }; // } // } //}