Example usage for android.util TypedValue TypedValue

List of usage examples for android.util TypedValue TypedValue

Introduction

In this page you can find the example usage for android.util TypedValue TypedValue.

Prototype

TypedValue

Source Link

Usage

From source file:com.geecko.QuickLyric.MainActivity.java

@TargetApi(21)
public static void setStatusBarColor(Window window, Resources.Theme theme, Integer color) {
    if (Build.VERSION.SDK_INT >= 21) {
        if (color == null) {
            TypedValue typedValue = new TypedValue();
            theme.resolveAttribute(android.R.attr.statusBarColor, typedValue, true);
            color = typedValue.data;/*  w  ww. j  a  v  a 2s. c  o m*/
        }
        window.setStatusBarColor(color);
    }
}

From source file:com.grottworkshop.gwsmaterialcalendarview.MaterialCalendarView.java

private static int getThemeAccentColor(Context context) {
    int colorAttr;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        colorAttr = android.R.attr.colorAccent;
    } else {/*  w ww  .ja v a2 s . com*/
        //Get colorAccent defined for AppCompat
        colorAttr = context.getResources().getIdentifier("colorAccent", "attr", context.getPackageName());
    }
    TypedValue outValue = new TypedValue();
    context.getTheme().resolveAttribute(colorAttr, outValue, true);
    return outValue.data;
}

From source file:fiskinfoo.no.sintef.fiskinfoo.MapFragment.java

private void createProximityAlertSetupDialog() {
    final Dialog dialog = dialogInterface.getDialog(getActivity(), R.layout.dialog_proximity_alert_create,
            R.string.create_proximity_alert);

    Button setProximityAlertWatcherButton = (Button) dialog
            .findViewById(R.id.create_proximity_alert_create_alert_watcher_button);
    Button stopCurrentProximityAlertWatcherButton = (Button) dialog
            .findViewById(R.id.create_proximity_alert_stop_existing_alert_button);
    Button cancelButton = (Button) dialog.findViewById(R.id.create_proximity_alert_cancel_button);
    SeekBar seekbar = (SeekBar) dialog.findViewById(R.id.create_proximity_alert_seekBar);
    final EditText radiusEditText = (EditText) dialog.findViewById(R.id.create_proximity_alert_range_edit_text);
    final Switch formatSwitch = (Switch) dialog.findViewById(R.id.create_proximity_alert_format_switch);

    final double seekBarStepSize = (double) (getResources()
            .getInteger(R.integer.proximity_alert_maximum_warning_range_meters)
            - getResources().getInteger(R.integer.proximity_alert_minimum_warning_range_meters)) / 100;

    radiusEditText.setText(//from   w  w w .  j a v a2s.co  m
            String.valueOf(getResources().getInteger(R.integer.proximity_alert_minimum_warning_range_meters)));

    formatSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked) {
                buttonView.setText(getString(R.string.range_format_nautical_miles));
            } else {
                buttonView.setText(getString(R.string.range_format_meters));
            }
        }
    });

    seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            if (fromUser) {
                String range = String.valueOf(
                        (int) (getResources().getInteger(R.integer.proximity_alert_minimum_warning_range_meters)
                                + (seekBarStepSize * progress)));
                radiusEditText.setText(range);
            }
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

        }
    });

    setProximityAlertWatcherButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String toastText;

            if (proximityAlertWatcher == null) {
                toastText = getString(R.string.proximity_alert_set);
            } else {

                toastText = getString(R.string.proximity_alert_replace);
            }

            if (proximityAlertWatcher != null) {
                proximityAlertWatcher.cancel(true);
            }

            mGpsLocationTracker = new GpsLocationTracker(getActivity());
            double latitude, longitude;

            if (mGpsLocationTracker.canGetLocation()) {
                latitude = mGpsLocationTracker.getLatitude();
                cachedLat = latitude;
                longitude = mGpsLocationTracker.getLongitude();
                cachedLon = longitude;
            } else {
                mGpsLocationTracker.showSettingsAlert();
                return;
            }

            if (formatSwitch.isChecked()) {
                cachedDistance = Double.valueOf(radiusEditText.getText().toString())
                        * getResources().getInteger(R.integer.meters_per_nautical_mile);
            } else {
                cachedDistance = Double.valueOf(radiusEditText.getText().toString());
            }

            dialog.dismiss();

            Response response;

            try {
                String apiName = "fishingfacility";
                String format = "OLEX";
                String filePath;
                String fileName = "collisionCheckToolsFile";

                response = barentswatchApi.getApi().geoDataDownload(apiName, format);

                if (response == null) {
                    Log.d(TAG, "RESPONSE == NULL");
                    throw new InternalError();
                }

                if (fiskInfoUtility.isExternalStorageWritable()) {
                    String directoryPath = Environment
                            .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString();
                    String directoryName = "FiskInfo";
                    filePath = directoryPath + "/" + directoryName + "/";
                    InputStream zippedInputStream = null;

                    try {
                        TypedInput responseInput = response.getBody();
                        zippedInputStream = responseInput.in();
                        zippedInputStream = new GZIPInputStream(zippedInputStream);

                        InputSource inputSource = new InputSource(zippedInputStream);
                        InputStream input = new BufferedInputStream(inputSource.getByteStream());
                        byte data[];
                        data = FiskInfoUtility.toByteArray(input);

                        InputStream inputStream = new ByteArrayInputStream(data);
                        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                        FiskInfoPolygon2D serializablePolygon2D = new FiskInfoPolygon2D();

                        String line;
                        boolean startSet = false;
                        String[] convertedLine;
                        List<Point> shape = new ArrayList<>();
                        while ((line = reader.readLine()) != null) {
                            Point currPoint = new Point();
                            if (line.length() == 0 || line.equals("")) {
                                continue;
                            }
                            if (Character.isLetter(line.charAt(0))) {
                                continue;
                            }

                            convertedLine = line.split("\\s+");

                            if (line.length() > 150) {
                                Log.d(TAG, "line " + line);
                            }

                            if (convertedLine[0].startsWith("3sl")) {
                                continue;
                            }

                            if (convertedLine[3].equalsIgnoreCase("Garnstart") && startSet) {
                                if (shape.size() == 1) {
                                    // Point

                                    serializablePolygon2D.addPoint(shape.get(0));
                                    shape = new ArrayList<>();
                                } else if (shape.size() == 2) {

                                    // line
                                    serializablePolygon2D.addLine(new Line(shape.get(0), shape.get(1)));
                                    shape = new ArrayList<>();
                                } else {

                                    serializablePolygon2D.addPolygon(new Polygon(shape));
                                    shape = new ArrayList<>();
                                }
                                startSet = false;
                            }

                            if (convertedLine[3].equalsIgnoreCase("Garnstart") && !startSet) {
                                double lat = Double.parseDouble(convertedLine[0]) / 60;
                                double lon = Double.parseDouble(convertedLine[1]) / 60;
                                currPoint.setNewPointValues(lat, lon);
                                shape.add(currPoint);
                                startSet = true;
                            } else if (convertedLine[3].equalsIgnoreCase("Brunsirkel")) {
                                double lat = Double.parseDouble(convertedLine[0]) / 60;
                                double lon = Double.parseDouble(convertedLine[1]) / 60;
                                currPoint.setNewPointValues(lat, lon);
                                shape.add(currPoint);
                            }
                        }

                        reader.close();
                        new FiskInfoUtility().serializeFiskInfoPolygon2D(filePath + fileName + "." + format,
                                serializablePolygon2D);

                        tools = serializablePolygon2D;

                    } catch (IOException e) {
                        e.printStackTrace();
                    } catch (ArrayIndexOutOfBoundsException e) {
                        Log.e(TAG, "Error when trying to serialize file.");
                        Toast error = Toast.makeText(getActivity(), "Ingen redskaper i omrdet du definerte",
                                Toast.LENGTH_LONG);
                        e.printStackTrace();
                        error.show();
                        return;
                    } finally {
                        try {
                            if (zippedInputStream != null) {
                                zippedInputStream.close();
                            }
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                } else {
                    Toast.makeText(v.getContext(), R.string.download_failed, Toast.LENGTH_LONG).show();
                    dialog.dismiss();
                    return;
                }

            } catch (Exception e) {
                Log.d(TAG, "Could not download tools file");
                Toast.makeText(getActivity(), R.string.download_failed, Toast.LENGTH_LONG).show();
            }

            runScheduledAlarm(getResources().getInteger(R.integer.zero),
                    getResources().getInteger(R.integer.proximity_alert_interval_time_seconds));

            Toast.makeText(getActivity(), toastText, Toast.LENGTH_LONG).show();
        }
    });

    if (proximityAlertWatcher != null) {
        TypedValue outValue = new TypedValue();
        stopCurrentProximityAlertWatcherButton.setVisibility(View.VISIBLE);

        getResources().getValue(R.dimen.proximity_alert_dialog_button_text_size_small, outValue, true);
        float textSize = outValue.getFloat();

        setProximityAlertWatcherButton.setTextSize(textSize);
        stopCurrentProximityAlertWatcherButton.setTextSize(textSize);
        cancelButton.setTextSize(textSize);

        stopCurrentProximityAlertWatcherButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                proximityAlertWatcher.cancel(true);
                proximityAlertWatcher = null;
                dialog.dismiss();
            }
        });
    }

    cancelButton.setOnClickListener(onClickListenerInterface.getDismissDialogListener(dialog));

    dialog.show();
}

From source file:com.geecko.QuickLyric.MainActivity.java

@TargetApi(21)
public static void setNavBarColor(Window window, Resources.Theme theme, Integer color) {
    if (Build.VERSION.SDK_INT >= 21) {
        if (color == null) {
            TypedValue typedValue = new TypedValue();
            theme.resolveAttribute(android.R.attr.navigationBarColor, typedValue, true);
            color = typedValue.data;/*  w w w  .  j  a  v a  2 s.c o m*/
        }
        window.setNavigationBarColor(color);
    }
}

From source file:com.heinrichreimersoftware.materialintro.app.IntroActivity.java

private void updateBackground() {
    @ColorInt/*from w  ww.  j av a  2 s .  c  om*/
    int background;
    @ColorInt
    int backgroundNext;
    @ColorInt
    int backgroundDark;
    @ColorInt
    int backgroundDarkNext;

    if (position == getCount()) {
        background = Color.TRANSPARENT;
        backgroundNext = Color.TRANSPARENT;
        backgroundDark = Color.TRANSPARENT;
        backgroundDarkNext = Color.TRANSPARENT;
    } else {
        background = ContextCompat.getColor(IntroActivity.this, getBackground(position));
        backgroundNext = ContextCompat.getColor(IntroActivity.this,
                getBackground(Math.min(position + 1, getCount() - 1)));

        background = ColorUtils.setAlphaComponent(background, 0xFF);
        backgroundNext = ColorUtils.setAlphaComponent(backgroundNext, 0xFF);

        try {
            backgroundDark = ContextCompat.getColor(IntroActivity.this, getBackgroundDark(position));
        } catch (Resources.NotFoundException e) {
            backgroundDark = ContextCompat.getColor(IntroActivity.this, R.color.mi_status_bar_background);
        }
        try {
            backgroundDarkNext = ContextCompat.getColor(IntroActivity.this,
                    getBackgroundDark(Math.min(position + 1, getCount() - 1)));
        } catch (Resources.NotFoundException e) {
            backgroundDarkNext = ContextCompat.getColor(IntroActivity.this, R.color.mi_status_bar_background);
        }
    }

    if (position + positionOffset >= adapter.getCount() - 1) {
        backgroundNext = ColorUtils.setAlphaComponent(background, 0x00);
        backgroundDarkNext = ColorUtils.setAlphaComponent(backgroundDark, 0x00);
    }

    background = (Integer) evaluator.evaluate(positionOffset, background, backgroundNext);
    backgroundDark = (Integer) evaluator.evaluate(positionOffset, backgroundDark, backgroundDarkNext);

    miFrame.setBackgroundColor(background);

    float[] backgroundDarkHsv = new float[3];
    Color.colorToHSV(backgroundDark, backgroundDarkHsv);
    //Slightly darken the background color a bit for more contrast
    backgroundDarkHsv[2] *= 0.95;
    int backgroundDarker = Color.HSVToColor(backgroundDarkHsv);
    miPagerIndicator.setPageIndicatorColor(backgroundDarker);
    ViewCompat.setBackgroundTintList(miButtonNext, ColorStateList.valueOf(backgroundDarker));
    ViewCompat.setBackgroundTintList(miButtonBack, ColorStateList.valueOf(backgroundDarker));

    @ColorInt
    int backgroundButtonCta = buttonCtaTintMode == BUTTON_CTA_TINT_MODE_TEXT
            ? ContextCompat.getColor(this, android.R.color.white)
            : backgroundDarker;
    ViewCompat.setBackgroundTintList(miButtonCta.getChildAt(0), ColorStateList.valueOf(backgroundButtonCta));
    ViewCompat.setBackgroundTintList(miButtonCta.getChildAt(1), ColorStateList.valueOf(backgroundButtonCta));

    int iconColor;
    if (ColorUtils.calculateLuminance(backgroundDark) > 0.4) {
        //Light background
        iconColor = ContextCompat.getColor(this, R.color.mi_icon_color_light);
    } else {
        //Dark background
        iconColor = ContextCompat.getColor(this, R.color.mi_icon_color_dark);
    }
    miPagerIndicator.setCurrentPageIndicatorColor(iconColor);
    DrawableCompat.setTint(miButtonNext.getDrawable(), iconColor);
    DrawableCompat.setTint(miButtonBack.getDrawable(), iconColor);

    @ColorInt
    int textColorButtonCta = buttonCtaTintMode == BUTTON_CTA_TINT_MODE_TEXT ? backgroundDarker : iconColor;
    ((Button) miButtonCta.getChildAt(0)).setTextColor(textColorButtonCta);
    ((Button) miButtonCta.getChildAt(1)).setTextColor(textColorButtonCta);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().setStatusBarColor(backgroundDark);

        if (position == adapter.getCount()) {
            getWindow().setNavigationBarColor(Color.TRANSPARENT);
        } else if (position + positionOffset >= adapter.getCount() - 1) {
            TypedValue typedValue = new TypedValue();
            TypedArray a = obtainStyledAttributes(typedValue.data,
                    new int[] { android.R.attr.navigationBarColor });

            int defaultNavigationBarColor = a.getColor(0, Color.BLACK);

            a.recycle();

            int navigationBarColor = (Integer) evaluator.evaluate(positionOffset, defaultNavigationBarColor,
                    Color.TRANSPARENT);
            getWindow().setNavigationBarColor(navigationBarColor);
        }

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            int systemUiVisibility = getWindow().getDecorView().getSystemUiVisibility();
            int flagLightStatusBar = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
            if (ColorUtils.calculateLuminance(backgroundDark) > 0.4) {
                //Light background
                systemUiVisibility |= flagLightStatusBar;
            } else {
                //Dark background
                systemUiVisibility &= ~flagLightStatusBar;
            }
            getWindow().getDecorView().setSystemUiVisibility(systemUiVisibility);
        }
    }
}

From source file:com.google.samples.apps.iosched.util.UIUtils.java

/**
 * Queries the theme of the given {@code context} for a theme color.
 *
 * @param context            the context holding the current theme.
 * @param attrResId          the theme color attribute to resolve.
 * @param fallbackColorResId a color resource id tto fallback to if the theme color cannot be
 *                           resolved./*from w  w  w  .  j av a 2  s.c o  m*/
 * @return the theme color or the fallback color.
 */
public static @ColorInt int getThemeColor(@NonNull Context context, @AttrRes int attrResId,
        @ColorRes int fallbackColorResId) {
    final TypedValue tv = new TypedValue();
    if (context.getTheme().resolveAttribute(attrResId, tv, true)) {
        return tv.data;
    }
    return ContextCompat.getColor(context, fallbackColorResId);
}

From source file:android.support.v7ox.app.AppCompatDelegateImplV7.java

@Override
ActionMode startSupportActionModeFromWindow(ActionMode.Callback callback) {
    endOnGoingFadeAnimation();/*from www.j a  va 2  s . co  m*/
    if (mActionMode != null) {
        mActionMode.finish();
    }

    final ActionMode.Callback wrappedCallback = new ActionModeCallbackWrapperV7(callback);
    ActionMode mode = null;
    if (mAppCompatCallback != null && !isDestroyed()) {
        try {
            mode = mAppCompatCallback.onWindowStartingSupportActionMode(wrappedCallback);
        } catch (AbstractMethodError ame) {
            // Older apps might not implement this callback method.
        }
    }

    if (mode != null) {
        mActionMode = mode;
    } else {
        if (mActionModeView == null) {
            if (mIsFloating) {
                // Use the action bar theme.
                final TypedValue outValue = new TypedValue();
                final Resources.Theme baseTheme = mContext.getTheme();
                baseTheme.resolveAttribute(R.attr.actionBarTheme_ox, outValue, true);

                final Context actionBarContext;
                if (outValue.resourceId != 0) {
                    final Resources.Theme actionBarTheme = mContext.getResources().newTheme();
                    actionBarTheme.setTo(baseTheme);
                    actionBarTheme.applyStyle(outValue.resourceId, true);

                    actionBarContext = new ContextThemeWrapper(mContext, 0);
                    actionBarContext.getTheme().setTo(actionBarTheme);
                } else {
                    actionBarContext = mContext;
                }

                mActionModeView = new ActionBarContextView(actionBarContext);
                mActionModePopup = new PopupWindow(actionBarContext, null,
                        R.attr.actionModePopupWindowStyle_ox);
                PopupWindowCompat.setWindowLayoutType(mActionModePopup,
                        WindowManager.LayoutParams.TYPE_APPLICATION);
                mActionModePopup.setContentView(mActionModeView);
                mActionModePopup.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);

                actionBarContext.getTheme().resolveAttribute(R.attr.actionBarSize_ox, outValue, true);
                final int height = TypedValue.complexToDimensionPixelSize(outValue.data,
                        actionBarContext.getResources().getDisplayMetrics());
                mActionModeView.setContentHeight(height);
                mActionModePopup.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
                mShowActionModePopup = new Runnable() {
                    public void run() {
                        mActionModePopup.showAtLocation(mActionModeView, Gravity.TOP | Gravity.FILL_HORIZONTAL,
                                0, 0);
                        endOnGoingFadeAnimation();
                        ViewCompat.setAlpha(mActionModeView, 0f);
                        mFadeAnim = ViewCompat.animate(mActionModeView).alpha(1f);
                        mFadeAnim.setListener(new ViewPropertyAnimatorListenerAdapter() {
                            @Override
                            public void onAnimationEnd(View view) {
                                ViewCompat.setAlpha(mActionModeView, 1f);
                                mFadeAnim.setListener(null);
                                mFadeAnim = null;
                            }

                            @Override
                            public void onAnimationStart(View view) {
                                mActionModeView.setVisibility(View.VISIBLE);
                            }
                        });
                    }
                };
            } else {
                ViewStubCompat stub = (ViewStubCompat) mSubDecor.findViewById(R.id.action_mode_bar_stub);
                if (stub != null) {
                    // Set the layout inflater so that it is inflated with the action bar's context
                    stub.setLayoutInflater(LayoutInflater.from(getActionBarThemedContext()));
                    mActionModeView = (ActionBarContextView) stub.inflate();
                }
            }
        }

        if (mActionModeView != null) {
            endOnGoingFadeAnimation();
            mActionModeView.killMode();
            mode = new StandaloneActionMode(mActionModeView.getContext(), mActionModeView, wrappedCallback,
                    mActionModePopup == null);
            if (callback.onCreateActionMode(mode, mode.getMenu())) {
                mode.invalidate();
                mActionModeView.initForMode(mode);
                mActionMode = mode;
                ViewCompat.setAlpha(mActionModeView, 0f);
                mFadeAnim = ViewCompat.animate(mActionModeView).alpha(1f);
                mFadeAnim.setListener(new ViewPropertyAnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(View view) {
                        ViewCompat.setAlpha(mActionModeView, 1f);
                        mFadeAnim.setListener(null);
                        mFadeAnim = null;
                    }

                    @Override
                    public void onAnimationStart(View view) {
                        mActionModeView.setVisibility(View.VISIBLE);
                        mActionModeView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
                        if (mActionModeView.getParent() != null) {
                            ViewCompat.requestApplyInsets((View) mActionModeView.getParent());
                        }
                    }
                });
                if (mActionModePopup != null) {
                    mWindow.getDecorView().post(mShowActionModePopup);
                }
            } else {
                mActionMode = null;
            }
        }
    }
    if (mActionMode != null && mAppCompatCallback != null) {
        mAppCompatCallback.onSupportActionModeStarted(mActionMode);
    }
    return mActionMode;
}

From source file:com.apptentive.android.sdk.util.Util.java

public static void replaceDefaultFont(Context context, String fontFilePath) {
    final Typeface newTypeface = Typeface.createFromAsset(context.getAssets(), fontFilePath);

    TypedValue tv = new TypedValue();
    String staticTypefaceFieldName = null;
    Map<String, Typeface> newMap = null;

    Resources.Theme apptentiveTheme = context.getResources().newTheme();
    ApptentiveInternal.getInstance().updateApptentiveInteractionTheme(apptentiveTheme, context);

    if (apptentiveTheme == null) {
        return;/* w ww .java  2s .c o m*/
    }

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        if (apptentiveTheme.resolveAttribute(R.attr.apptentiveFontFamilyDefault, tv, true)) {
            newMap = new HashMap<String, Typeface>();
            newMap.put(tv.string.toString(), newTypeface);
        }
        if (apptentiveTheme.resolveAttribute(R.attr.apptentiveFontFamilyMediumDefault, tv, true)) {
            if (newMap == null) {
                newMap = new HashMap<String, Typeface>();
            }
            newMap.put(tv.string.toString(), newTypeface);
        }
        if (newMap != null) {
            try {
                final Field staticField = Typeface.class.getDeclaredField("sSystemFontMap");
                staticField.setAccessible(true);
                staticField.set(null, newMap);
            } catch (NoSuchFieldException e) {
                ApptentiveLog.e("Exception replacing system font", e);
            } catch (IllegalAccessException e) {
                ApptentiveLog.e("Exception replacing system font", e);
            }
        }
    } else {
        if (apptentiveTheme.resolveAttribute(R.attr.apptentiveTypefaceDefault, tv, true)) {
            staticTypefaceFieldName = "DEFAULT";
            if (tv.data == context.getResources().getInteger(R.integer.apptentive_typeface_monospace)) {
                staticTypefaceFieldName = "MONOSPACE";
            } else if (tv.data == context.getResources().getInteger(R.integer.apptentive_typeface_serif)) {
                staticTypefaceFieldName = "SERIF";
            } else if (tv.data == context.getResources().getInteger(R.integer.apptentive_typeface_sans)) {
                staticTypefaceFieldName = "SANS_SERIF";
            }
            try {
                final Field staticField = Typeface.class.getDeclaredField(staticTypefaceFieldName);
                staticField.setAccessible(true);
                staticField.set(null, newTypeface);
            } catch (NoSuchFieldException e) {
                ApptentiveLog.e("Exception replacing system font", e);
            } catch (IllegalAccessException e) {
                ApptentiveLog.e("Exception replacing system font", e);
            }
        }
    }
}

From source file:com.github.cpmproto.categorystepfragment.base.GuidedStepListFragment.java

private static boolean isGuidedStepTheme(Context context) {
    int resId = android.support.v17.leanback.R.attr.guidedStepThemeFlag;
    TypedValue typedValue = new TypedValue();
    boolean found = context.getTheme().resolveAttribute(resId, typedValue, true);
    if (DEBUG)//  ww  w  .  j a v a2s .  c o m
        Log.v(TAG, "Found guided step theme flag? " + found);
    return found && typedValue.type == TypedValue.TYPE_INT_BOOLEAN && typedValue.data != 0;
}

From source file:com.github.cpmproto.categorystepfragment.base.GuidedStepListFragment.java

private void resolveTheme() {
    // Look up the guidedStepTheme in the currently specified theme.  If it exists,
    // replace the theme with its value.
    Activity activity = getActivity();/* w  w w .  j a  v a  2  s  .  com*/
    int theme = onProvideTheme();
    if (theme == -1 && !isGuidedStepTheme(activity)) {
        // Look up the guidedStepTheme in the activity's currently specified theme.  If it
        // exists, replace the theme with its value.
        int resId = android.support.v17.leanback.R.attr.guidedStepTheme;
        TypedValue typedValue = new TypedValue();
        boolean found = activity.getTheme().resolveAttribute(resId, typedValue, true);
        if (DEBUG)
            Log.v(TAG, "Found guided step theme reference? " + found);
        if (found) {
            ContextThemeWrapper themeWrapper = new ContextThemeWrapper(activity, typedValue.resourceId);
            if (isGuidedStepTheme(themeWrapper)) {
                mThemeWrapper = themeWrapper;
            } else {
                found = false;
                mThemeWrapper = null;
            }
        }
        if (!found) {
            Log.e(TAG, "GuidedStepListFragment does not have an appropriate theme set.");
        }
    } else if (theme != -1) {
        mThemeWrapper = new ContextThemeWrapper(activity, theme);
    }
}