Don't inflate ad view, use it directly in layouts
This commit is contained in:
@@ -2,18 +2,19 @@ package org.solovyev.android.calculator;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.google.android.gms.ads.AdListener;
|
||||
import com.google.android.gms.ads.AdRequest;
|
||||
|
||||
import org.solovyev.android.Check;
|
||||
import com.google.android.gms.ads.AdSize;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
|
||||
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
|
||||
public class AdView extends FrameLayout {
|
||||
|
||||
@Nullable
|
||||
@@ -23,14 +24,22 @@ public class AdView extends FrameLayout {
|
||||
|
||||
public AdView(Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public AdView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public AdView(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
setVisibility(GONE);
|
||||
setId(R.id.cpp_ad);
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
@@ -66,13 +75,7 @@ public class AdView extends FrameLayout {
|
||||
return;
|
||||
}
|
||||
|
||||
LayoutInflater.from(getContext()).inflate(R.layout.admob, this);
|
||||
admobView = (com.google.android.gms.ads.AdView) findViewById(R.id.admob);
|
||||
Check.isNotNull(admobView);
|
||||
if (admobView == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
admobView = addAdmobView();
|
||||
admobListener = new AdView.AdViewListener(this);
|
||||
admobView.setAdListener(admobListener);
|
||||
|
||||
@@ -85,6 +88,18 @@ public class AdView extends FrameLayout {
|
||||
admobView.loadAd(b.build());
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
private com.google.android.gms.ads.AdView addAdmobView() {
|
||||
final com.google.android.gms.ads.AdView v = new com.google.android.gms.ads.AdView(getContext());
|
||||
v.setVisibility(GONE);
|
||||
v.setAdSize(AdSize.BANNER);
|
||||
v.setAdUnitId(getResources().getString(R.string.admob));
|
||||
final LayoutParams lp = new LayoutParams(MATCH_PARENT, WRAP_CONTENT);
|
||||
lp.gravity = Gravity.CENTER;
|
||||
addView(v, lp);
|
||||
return v;
|
||||
}
|
||||
|
||||
public void hide() {
|
||||
if (admobView == null) {
|
||||
return;
|
||||
|
@@ -24,7 +24,7 @@ public class AdUi {
|
||||
@NonNull
|
||||
private final Handler handler;
|
||||
@Nullable
|
||||
@Bind(R.id.ad)
|
||||
@Bind(R.id.cpp_ad)
|
||||
AdView adView;
|
||||
@Nullable
|
||||
private Boolean adFree = null;
|
||||
|
@@ -7,15 +7,9 @@ import android.os.Bundle;
|
||||
import android.preference.ListPreference;
|
||||
import android.preference.Preference;
|
||||
import android.util.SparseArray;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.ListView;
|
||||
|
||||
import org.solovyev.android.calculator.AdView;
|
||||
import org.solovyev.android.calculator.App;
|
||||
import org.solovyev.android.calculator.Engine;
|
||||
import org.solovyev.android.calculator.Preferences;
|
||||
import org.solovyev.android.calculator.R;
|
||||
import org.solovyev.android.calculator.*;
|
||||
import org.solovyev.android.calculator.language.Language;
|
||||
import org.solovyev.android.calculator.language.Languages;
|
||||
import org.solovyev.android.checkout.BillingRequests;
|
||||
@@ -23,10 +17,9 @@ import org.solovyev.android.checkout.Checkout;
|
||||
import org.solovyev.android.checkout.ProductTypes;
|
||||
import org.solovyev.android.checkout.RequestListener;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
|
||||
import static org.solovyev.android.calculator.wizard.CalculatorWizards.DEFAULT_WIZARD_FLOW;
|
||||
import static org.solovyev.android.wizard.WizardUi.startWizard;
|
||||
@@ -212,7 +205,7 @@ public class PreferencesFragment extends org.solovyev.android.material.preferenc
|
||||
if (adView != null) {
|
||||
return;
|
||||
}
|
||||
adView = (AdView) LayoutInflater.from(getActivity()).inflate(R.layout.ad, null);
|
||||
adView = new AdView(getActivity());
|
||||
adView.show();
|
||||
try {
|
||||
listView.addHeaderView(adView);
|
||||
|
Reference in New Issue
Block a user