1376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein/* 2376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * Copyright (C) 2013 Google Inc. 3376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * Licensed to The Android Open Source Project. 4376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * 5376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * Licensed under the Apache License, Version 2.0 (the "License"); 6376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * you may not use this file except in compliance with the License. 7376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * You may obtain a copy of the License at 8376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * 9376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * http://www.apache.org/licenses/LICENSE-2.0 10376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * 11376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * Unless required by applicable law or agreed to in writing, software 12376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * distributed under the License is distributed on an "AS IS" BASIS, 13376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * See the License for the specific language governing permissions and 15376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein * limitations under the License. 16376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein */ 17376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein 18376294bbb5ded471ad577fdb492875a837021d08Andrew Sappersteinpackage com.android.mail.utils; 19376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein 20376294bbb5ded471ad577fdb492875a837021d08Andrew Sappersteinimport android.content.res.Resources; 21376294bbb5ded471ad577fdb492875a837021d08Andrew Sappersteinimport android.webkit.WebSettings; 22376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein 23376294bbb5ded471ad577fdb492875a837021d08Andrew Sappersteinimport com.android.mail.R; 24376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein 25376294bbb5ded471ad577fdb492875a837021d08Andrew Sappersteinpublic class ConversationViewUtils { 26376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein public static void setTextZoom(Resources resources, WebSettings settings) { 27376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein final float fontScale = resources.getConfiguration().fontScale; 28376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein final int desiredFontSizePx = resources.getInteger( 29376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein R.integer.conversation_desired_font_size_px); 30376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein final int unstyledFontSizePx = resources.getInteger( 31376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein R.integer.conversation_unstyled_font_size_px); 32376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein 33376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein int textZoom = settings.getTextZoom(); 34376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein // apply a correction to the default body text style to get regular text to the size we want 35376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein textZoom = textZoom * desiredFontSizePx / unstyledFontSizePx; 36376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein // then apply any system font scaling 37376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein textZoom = (int) (textZoom * fontScale); 38376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein settings.setTextZoom(textZoom); 39376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein } 40376294bbb5ded471ad577fdb492875a837021d08Andrew Sapperstein} 41