10657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba/* 20657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * Copyright (C) 2014 The Android Open Source Project 30657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * 40657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * Licensed under the Apache License, Version 2.0 (the "License"); 50657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * you may not use this file except in compliance with the License. 60657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * You may obtain a copy of the License at 70657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * 80657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * http://www.apache.org/licenses/LICENSE-2.0 90657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * 100657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * Unless required by applicable law or agreed to in writing, software 110657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * distributed under the License is distributed on an "AS IS" BASIS, 120657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * See the License for the specific language governing permissions and 140657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * limitations under the License. 150657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba */ 160657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba 170657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosibapackage com.android.webview.chromium; 180657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba 190657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosibaimport android.content.Context; 200657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba 210657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba/** 220657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * Helper class used to fix up resource ids. 230657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * This is mostly a copy of the code in frameworks/base/core/java/android/app/LoadedApk.java. 240657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * TODO: Remove if a cleaner mechanism is provided (either public API or AAPT is changed to generate 250657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba * this code). 260657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba */ 270657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosibaclass ResourceRewriter { 280657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba 2945702509d4752478188935eaf442c549c2c220beIgnacio Solla /** 3045702509d4752478188935eaf442c549c2c220beIgnacio Solla * Rewrite the R 'constants' for the WebView library apk. 3145702509d4752478188935eaf442c549c2c220beIgnacio Solla */ 3245702509d4752478188935eaf442c549c2c220beIgnacio Solla public static void rewriteRValues(final int packageId) { 3345702509d4752478188935eaf442c549c2c220beIgnacio Solla // TODO: We should use jarjar to remove the redundant R classes here, but due 3445702509d4752478188935eaf442c549c2c220beIgnacio Solla // to a bug in jarjar it's not possible to rename classes with '$' in their name. 3545702509d4752478188935eaf442c549c2c220beIgnacio Solla // See b/15684775. 3645702509d4752478188935eaf442c549c2c220beIgnacio Solla com.android.webview.chromium.R.onResourcesLoaded(packageId); 3745702509d4752478188935eaf442c549c2c220beIgnacio Solla org.chromium.ui.R.onResourcesLoaded(packageId); 3845702509d4752478188935eaf442c549c2c220beIgnacio Solla org.chromium.content.R.onResourcesLoaded(packageId); 390657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba } 400657a5e0b853cb639b1b5a5a195125f9d6221a11Marcin Kosiba} 41