Skip to content

Commit

Permalink
disallow banner views having subviews
Browse files Browse the repository at this point in the history
  • Loading branch information
koenpunt committed Sep 29, 2017
1 parent ea1151a commit 7329cfe
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.content.Context;
import android.support.annotation.Nullable;
import android.view.View;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.ReactContext;
Expand All @@ -10,8 +11,8 @@
import com.facebook.react.bridge.ReadableNativeArray;
import com.facebook.react.common.MapBuilder;
import com.facebook.react.uimanager.PixelUtil;
import com.facebook.react.uimanager.ViewGroupManager;
import com.facebook.react.uimanager.annotations.ReactProp;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.events.RCTEventEmitter;
import com.facebook.react.views.view.ReactViewGroup;
Expand All @@ -26,8 +27,6 @@

class ReactAdView extends ReactViewGroup {

private Context mContext;

protected AdView adView;

String adUnitID;
Expand All @@ -38,6 +37,11 @@ public ReactAdView(final Context context) {
this.createAdView();
}

@Override
public void addView(View child) {
throw new RuntimeException("ReactAdView cannot have subviews");
}

private void createAdView() {
if (this.adView != null) this.adView.destroy();

Expand Down Expand Up @@ -154,7 +158,7 @@ public void setAdSize(AdSize adSize) {
}
}

public class RNAdMobBannerViewManager extends SimpleViewManager<ReactAdView> {
public class RNAdMobBannerViewManager extends ViewGroupManager<ReactAdView> {

public static final String REACT_CLASS = "RNGADBannerView";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import android.content.Context;
import android.support.annotation.Nullable;
import android.util.Log;
import android.view.View;

import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.ReactContext;
Expand All @@ -11,8 +11,8 @@
import com.facebook.react.bridge.ReadableNativeArray;
import com.facebook.react.common.MapBuilder;
import com.facebook.react.uimanager.PixelUtil;
import com.facebook.react.uimanager.ViewGroupManager;
import com.facebook.react.uimanager.annotations.ReactProp;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.events.RCTEventEmitter;
import com.facebook.react.views.view.ReactViewGroup;
Expand All @@ -28,8 +28,6 @@

class ReactPublisherAdView extends ReactViewGroup implements AppEventListener {

private Context mContext;

protected PublisherAdView adView;

String[] testDevices;
Expand All @@ -42,6 +40,11 @@ public ReactPublisherAdView(final Context context) {
this.createAdView();
}

@Override
public void addView(View child) {
throw new RuntimeException("ReactPublisherAdView cannot have subviews");
}

private void createAdView() {
if (this.adView != null) this.adView.destroy();

Expand Down Expand Up @@ -188,7 +191,7 @@ public void onAppEvent(String name, String info) {
}
}

public class RNPublisherBannerViewManager extends SimpleViewManager<ReactPublisherAdView> {
public class RNPublisherBannerViewManager extends ViewGroupManager<ReactPublisherAdView> {

public static final String REACT_CLASS = "RNDFPBannerView";

Expand Down
8 changes: 8 additions & 0 deletions ios/RNDFPBannerView.m
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@ - (instancetype)initWithFrame:(CGRect)frame
return self;
}

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
- (void)insertReactSubview:(UIView *)subview atIndex:(NSInteger)atIndex
{
RCTLogError(@"RNDFPBannerView cannot have subviews");
}
#pragma clang diagnostic pop

- (void)loadBanner {
GADRequest *request = [GADRequest request];
request.testDevices = _testDevices;
Expand Down
8 changes: 8 additions & 0 deletions ios/RNGADBannerView.m
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,14 @@ - (instancetype)initWithFrame:(CGRect)frame
return self;
}

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-missing-super-calls"
- (void)insertReactSubview:(UIView *)subview atIndex:(NSInteger)atIndex
{
RCTLogError(@"RNGADBannerView cannot have subviews");
}
#pragma clang diagnostic pop

- (void)loadBanner
{
if(self.onSizeChange) {
Expand Down

0 comments on commit 7329cfe

Please sign in to comment.