package net.nend.android; import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.util.SparseArray; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; final class NendAdResponseParser { private static final String RESPONSE_ENCODING = "UTF-8"; private final PackageManager mPackageManager; static { if (!NendAdResponseParser.class.desiredAssertionStatus()) {} for (boolean bool = true;; bool = false) { $assertionsDisabled = bool; return; } } NendAdResponseParser(Context paramContext) { if (paramContext == null) { throw new NullPointerException(NendStatus.ERR_INVALID_CONTEXT.getMsg()); } this.mPackageManager = paramContext.getPackageManager(); } private AdParameter getAppTargetingAd(JSONObject paramJSONObject) throws JSONException, NendException { JSONArray localJSONArray1 = paramJSONObject.getJSONArray("targeting_ads"); int i = 0; int j = localJSONArray1.length(); int k; label47: NendAdResponse.Builder localBuilder; if (i < j) { JSONObject localJSONObject = localJSONArray1.getJSONObject(i); JSONArray localJSONArray2 = localJSONObject.getJSONArray("conditions"); k = 0; int m = localJSONArray2.length(); if (k < m) { if (isTarget(localJSONArray2.getJSONArray(k))) { localBuilder = new NendAdResponse.Builder().setViewType(AdParameter.ViewType.ADVIEW).setImageUrl(localJSONObject.getString("image_url")).setClickUrl(localJSONObject.getString("click_url")); if (!paramJSONObject.isNull("reload")) { localBuilder.setReloadIntervalInSeconds(paramJSONObject.getInt("reload")); } } } } for (Object localObject = localBuilder.build();; localObject = getNormalAd(paramJSONObject)) { return localObject; k++; break label47; i++; break; if (paramJSONObject.isNull("default_ad")) { throw new NendException(NendStatus.ERR_OUT_OF_STOCK); } } } private AdParameter getNormalAd(JSONObject paramJSONObject) throws JSONException { JSONObject localJSONObject = paramJSONObject.getJSONObject("default_ad"); NendAdResponse.Builder localBuilder = new NendAdResponse.Builder().setViewType(AdParameter.ViewType.ADVIEW).setImageUrl(localJSONObject.getString("image_url")).setClickUrl(localJSONObject.getString("click_url")); if (!paramJSONObject.isNull("reload")) { localBuilder.setReloadIntervalInSeconds(paramJSONObject.getInt("reload")); } return localBuilder.build(); } private AdParameter getWebViewAd(JSONObject paramJSONObject) throws JSONException { return new NendAdResponse.Builder().setViewType(AdParameter.ViewType.WEBVIEW).setWebViewUrl(paramJSONObject.getString("web_view_url")).build(); } private boolean isTarget(JSONArray paramJSONArray) throws JSONException { boolean bool = false; assert (paramJSONArray != null); int i = 0; int j = paramJSONArray.length(); JSONObject localJSONObject; int k; for (;;) { if (i < j) { localJSONObject = paramJSONArray.getJSONObject(i); k = localJSONObject.getInt("logical_operator"); if (k == 1) { try { this.mPackageManager.getPackageInfo(localJSONObject.getString("url_scheme"), 1); i++; } catch (PackageManager.NameNotFoundException localNameNotFoundException2) {} } } } for (;;) { return bool; if (k == 2) { try { this.mPackageManager.getPackageInfo(localJSONObject.getString("url_scheme"), 1); } catch (PackageManager.NameNotFoundException localNameNotFoundException1) {} break; bool = true; } } } AdParameter parseResponse(String paramString) { if (paramString != null) {} try { if (paramString.length() == 0) { throw new IllegalArgumentException(NendStatus.ERR_INVALID_RESPONSE.getMsg()); } } catch (UnsupportedEncodingException localUnsupportedEncodingException) { if (!$assertionsDisabled) { throw new AssertionError(); localJSONObject = new JSONObject(URLDecoder.decode(paramString, "UTF-8")); if (localJSONObject.getInt("status_code") == NendStatus.SUCCESS.getCode()) { break label140; } throw new NendException(NendStatus.ERR_INVALID_AD_STATUS, "Ad status : " + localJSONObject.getInt("status_code") + ", Message : " + localJSONObject.getString("message")); } } catch (JSONException localJSONException) { NendLog.w(NendStatus.ERR_FAILED_TO_PARSE, localJSONException); localObject = null; return localObject; ResponseType localResponseType = ResponseType.valueOf(localJSONObject.getInt("response_type")); switch (1.$SwitchMap$net$nend$android$NendAdResponseParser$ResponseType[localResponseType.ordinal()]) { default: throw new NendException(NendStatus.ERR_INVALID_RESPONSE_TYPE); } } catch (NendException localNendException) { for (;;) { JSONObject localJSONObject; NendLog.w(NendStatus.ERR_FAILED_TO_PARSE, localNendException); continue; Object localObject = getNormalAd(localJSONObject); continue; localObject = getWebViewAd(localJSONObject); continue; AdParameter localAdParameter = getAppTargetingAd(localJSONObject); localObject = localAdParameter; } } catch (IllegalArgumentException localIllegalArgumentException) { for (;;) { label140: NendLog.w(NendStatus.ERR_FAILED_TO_PARSE, localIllegalArgumentException); } } } private static enum ResponseType { private static final SparseArray<ResponseType> intToEnum; private int type; static { NORMAL = new ResponseType("NORMAL", 1, 1); WEB_VIEW = new ResponseType("WEB_VIEW", 2, 2); APP_TARGETING = new ResponseType("APP_TARGETING", 3, 3); ResponseType[] arrayOfResponseType1 = new ResponseType[4]; arrayOfResponseType1[0] = UNSUPPORTED; arrayOfResponseType1[1] = NORMAL; arrayOfResponseType1[2] = WEB_VIEW; arrayOfResponseType1[3] = APP_TARGETING; $VALUES = arrayOfResponseType1; intToEnum = new SparseArray(); for (ResponseType localResponseType : values()) { intToEnum.put(localResponseType.type, localResponseType); } } private ResponseType(int paramInt) { this.type = paramInt; } private static ResponseType valueOf(int paramInt) { return (ResponseType)intToEnum.get(paramInt, UNSUPPORTED); } } private static final class JsonParam { private static final String CLICK_URL = "click_url"; private static final String CONDITIONS = "conditions"; private static final String DEFAULT_AD = "default_ad"; private static final String IMAGE_URL = "image_url"; private static final String LOGICAL_OPERATOR = "logical_operator"; private static final String MESSAGE = "message"; private static final String PACKAGE_NAME = "url_scheme"; private static final String RELOAD = "reload"; private static final String RESPONSE_TYPE = "response_type"; private static final String STATUS_CODE = "status_code"; private static final String TARGETING_ADS = "targeting_ads"; private static final String WEB_VIEW_URL = "web_view_url"; } } /* Location: F:\neembuu\Research\android_apps\output_jar.jar * Qualified Name: net.nend.android.NendAdResponseParser * JD-Core Version: 0.7.0.1 */