class PaywallPackageInjector { private static final String TAG = "PaywallPackageInjector"; // Densities static final String LDPI = "ldpi"; static final String MDPI = "mdpi"; static final String HDPI =...

Given the following three files you need to clear MyPackageManager.packagesResponse and refetch it


class PaywallPackageInjector { private static final String TAG = "PaywallPackageInjector"; // Densities static final String LDPI = "ldpi"; static final String MDPI = "mdpi"; static final String HDPI = "hdpi"; static final String XHDPI = "xhdpi"; static final String XXHDPI = "xxhdpi"; static final String XXXHDPI = "xxxhdpi"; // Other Constants private static final String BACKGROUND = "background"; private static final String BOTTOM_CONTENT = "bottomContent"; private static final String HREF = "href"; private static final String ID = "id"; private static final String IMAGE = "image"; private static final String LEGAL = "legal"; static final String SKU_AMAZON = "skuAmazon"; static final String SKU_GOOGLE = "skuGoogle"; static final String SKU_GOOGLE_BASE_SKUS = "skuGoogleBaseSkus"; static final String SKU_UPGRADE_MAPPING = "skuUpgradeMapping_"; private static final String TEXT = "text"; private static final String TEXT_COLOR = "textColor"; private static final String TRACKING_STRING = "trackingString"; private static final String RES = "res"; private static final String CONTENT = "content"; private static final String HERO_IMAGE = "heroImage"; private static final String LOGO_IMAGE = "logoImage"; private static final String TITLE_TEXT = "titleText"; private static final String SECONDARY_TITLE_TEXT = "secondaryTitleText"; private static final String DESC_TEXT = "descText"; private static final String BOXED_CONTENT = "boxedContent"; private static final String UNBOXED_CONTENT = "unboxedContent"; private static final String TYPE = "type"; private static final String BUTTON = "button"; private static final String BUTTON_ENABLED = "enabled"; static final String PRODUCT_BUTTON_1 = "product_button_1"; static final String PRODUCT_BUTTON_2 = "product_button_2"; private static final String TOGGLE_WRAPPER = "toggleWrapper"; private static final String TOGGLE_TITLE_TEXT = "toggleTitleText"; private static final String TOGGLE = "toggle"; private static final String TOGGLE_CHOICES = "choiceText"; private static final String TOGGLE_SECTION1_TEXT_WRAPPER = "section1TextWrapper"; private static final String TOGGLE_SECTION2_TEXT_WRAPPER = "section2TextWrapper"; private static final String TOGGLE_SECTION1_BUTTON = "section1Button"; private static final String TOGGLE_SECTION2_BUTTON = "section2Button"; private static final String TOGGLE_LEGAL1 = "legal1"; private static final String TOGGLE_LEGAL2 = "legal2"; private static final String LOGIN_RESTORE_ROW = "loginRestoreRow"; private static final String TOGGLE_LOGIN_RESTORE_ROW_BOTTOM = "loginRestoreRowBottom"; private static final String CAROUSEL = "carousel"; private static final String CAROUSEL_ITEM = "carouselItem"; private static final String CAROUSEL_CARD = "carouselCard"; private static final String NAME = "name"; private static final String SUBTITLE = "subtitle"; private static final String EVENT_DATE = "eventDate"; private static final String PADDING_LEFT = "paddingLeft"; private static final String PADDING_RIGHT = "paddingRight"; static final String DATA = "data"; static final String LOCAL_PRICE = "localPrice"; private static final String UPGRADE_TEXT_1 = "upgradeText1"; private static final String UPGRADE_TEXT_2 = "upgradeText2"; private static final String SHOW_BADGE_QUERY_PARAM = "showBadge"; static String injectPackageData(String paywallConfig, String entitlement, @Nullable String paywallContext, @Nullable Content content, boolean inlinePaywall, @Nullable String deeplinkDefaultToggleSection, @Nullable PaywallCarouselResponse paywallCarouselResponse, String commonComponents, Context context) { Package selectedPackage = findPackage(entitlement); if (selectedPackage == null) { return paywallConfig; } try { JSONObject paywallConfigJSONObject = new JSONObject(paywallConfig); if (selectedPackage.getPaywall() == null) { return paywallConfigJSONObject.toString(); } if (shouldOverride(PaywallContext.OOM.getJsonKey(), paywallContext, paywallConfigJSONObject)) { overrideOomPaywall(paywallConfigJSONObject, content, selectedPackage.getPaywall()); } else if (shouldOverride(PaywallContext.BUNDLE_STEP_ONE.getJsonKey(), paywallContext, paywallConfigJSONObject)) { overrideBundlePaywall(paywallConfigJSONObject, content, selectedPackage, 0); } else if (shouldOverride(PaywallContext.BUNDLE_STEP_TWO.getJsonKey(), paywallContext, paywallConfigJSONObject)) { overrideBundlePaywall(paywallConfigJSONObject, content, selectedPackage, 1); } else if (shouldOverride(PaywallContext.INFORMATIVE.getJsonKey(), paywallContext, paywallConfigJSONObject)) { overrideInformativePaywall(paywallConfigJSONObject, content, selectedPackage.getPaywall()); } else if (shouldOverride(PaywallContext.ONBOARDING.getJsonKey(), paywallContext, paywallConfigJSONObject)) { overrideOnboardingPaywall(paywallConfigJSONObject, paywallCarouselResponse, selectedPackage, inlinePaywall, deeplinkDefaultToggleSection, commonComponents, context); } else if (shouldOverride(PaywallContext.UPGRADE.getJsonKey(), paywallContext, paywallConfigJSONObject)) { overrideUpgradePaywall(paywallConfigJSONObject, selectedPackage); } else { updateBackgroundHeroImage(paywallConfigJSONObject, null, selectedPackage); updateContentSection(paywallConfigJSONObject, selectedPackage, inlinePaywall, deeplinkDefaultToggleSection); } return paywallConfigJSONObject.toString(); } catch (JSONException e) { LogHelper.e(TAG, "Failed to modify paywallConfig string as JSONObject", e); String cause = ""; if (e.getCause() != null) { cause = e.getCause().toString(); } FrameworkApplication.component.visionManager().trackPageErrorEvent(TAG, paywallContext, ErrorCodesKt.CANNOT_BE_PARSED, e.getMessage(), cause); } return paywallConfig; } private static void updateContentSection(JSONObject paywallConfigJSONObject, Package selectedPackage, boolean inlinePaywall, String deeplinkDefaultToggleSection) throws JSONException { boolean showTogglePaywall = false; int defaultToggleSection = 0; int hiddenToggleSection = 0; if (selectedPackage.getPaywall().getToggle() != null) { Toggle toggle = selectedPackage.getPaywall().getToggle(); showTogglePaywall = toggle.getEnabled(); if (toggle.getSections() != null && toggle.getSections().size() > 1) { defaultToggleSection = toggle.getSections().get(1).getIsDefault() ? 1 : 0; hiddenToggleSection = defaultToggleSection == 0 ? 1 : 0; } } JSONArray contentArray = paywallConfigJSONObject.has(CONTENT) ? paywallConfigJSONObject.getJSONArray(CONTENT) : null; if (contentArray != null) { JSONArray resultContent = new JSONArray(); int buttonCount = 0; for (int i = 0; i < contentarray.length(); i++) { jsonobject jsonobject = contentarray.getjsonobject(i); if (contentarray.getjsonobject(i).has(id) && selectedpackage.getpaywall() != null && selectedpackage.getpaywall().gettoggle() != null) { toggle toggle = selectedpackage.getpaywall().gettoggle(); contentarray.length();="" i++)="" {="" jsonobject="" jsonobject="contentArray.getJSONObject(i);" if="" (contentarray.getjsonobject(i).has(id)="" &&="" selectedpackage.getpaywall()="" !="null" &&="" selectedpackage.getpaywall().gettoggle()="" !="null)" {="" toggle="" toggle="">
May 11, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here