• You MUST read the Babiato Rules before making your first post otherwise you may get permanent warning points or a permanent Ban.

    Our resources on Babiato Forum are CLEAN and SAFE. So you can use them for development and testing purposes. If your are on Windows and have an antivirus that alerts you about a possible infection: Know it's a false positive because all scripts are double checked by our experts. We advise you to add Babiato to trusted sites/sources or disable your antivirus momentarily while downloading a resource. "Enjoy your presence on Babiato"

Flix App Movies - TV Series - Live TV Channels - TV Cast

Flix App Movies - TV Series - Live TV Channels - TV Cast v4.1

No permission to download
Can someone help me with the api it's not connecting with the flix app

HELP us HELP you, by just saying it doesnt connect, it can be a ton of reasons why this is happening, provide as much information what you have done, with screenshots will be a hell lot better, what error it is showing you... i gotten my copy to work just that the mobile app seems to have some issues, my sources on tv show is not showing in mobile app, movie is okay but not tv shows, when i select the season, it doesnt load the sources. My tv show is okay on the web version and mobile web version, only the apk version is not showing....

Any one have the same problem ??



Did you follow the instructions on how to link your website to the app?? What is the url of your website api that you have inserted into the app
 
Last edited:
HELP us HELP you, by just saying it doesnt connect, it can be a ton of reasons why this is happening, provide as much information what you have done, with screenshots will be a hell lot better, what error it is showing you... i gotten my copy to work just that the mobile app seems to have some issues, my sources on tv show is not showing in mobile app, movie is okay but not tv shows, when i select the season, it doesnt load the sources. My tv show is okay on the web version and mobile web version, only the apk version is not showing....

Any one have the same problem ??



Did you follow the instructions on how to link your website to the app?? What is the url of your website api that you have inserted into the app
Thanks man I reinstalled the admin panel script twice and it got connected.
The only remaining thing is the performance checking how can I configure the cloudflare on that!
 
Explain why you are doing what you are doing? This app is for personal consumption, so I don't care as long as it works.
 
added my device for the Admob test. Test ads are displayed on it. But I logged in on several of my other devices, regular ad units (not test ones) are not shown. Tell me, if AdMob's test ad is showing, does it mean everything is configured correctly?
 
added my device for the Admob test. Test ads are displayed on it. But I logged in on several of my other devices, regular ad units (not test ones) are not shown. Tell me, if AdMob's test ad is showing, does it mean everything is configured correctly?

Go to adsense and add your home addresses then it will show
 
please any one help me
actually I finished all processes in the android studio and there is no error show. and app is build successful and installed
but, as soon as I opened the app, there was an internet connection error and my connection was on and good internet speed.
so, what can I do now?
This problem happens when you install the application in a phone that is lower than Androide 5.
 
please any one help me
actually I finished all processes in the android studio and there is no error show. and app is build successful and installed
but, as soon as I opened the app, there was an internet connection error and my connection was on and good internet speed.
so, what can I do now?
This problem happens when you install the application in a phone that is lower than Androide 5.
 
item_poster.xml
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <androidx.cardview.widget.CardView
        app:cardPreventCornerOverlap="false"
        app:cardElevation="5dp"
        android:layout_margin="5dp"
        app:cardCornerRadius="5dp"
        app:cardBackgroundColor="@color/gray"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <RelativeLayout
            android:elevation="2dp"
            android:paddingTop="1dp"
            android:paddingRight="1dp"
            android:paddingBottom="1dp"
            android:background="@drawable/bg_label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <TextView
                android:visibility="gone"
                android:elevation="11dp"

                android:id="@+id/text_view_item_poster_label"
                android:paddingRight="2dp"
                android:paddingLeft="5dp"
                android:gravity="center_vertical"
                android:text="2021"
                android:textColor="@color/white"
                android:textStyle="bold"
                android:textSize="9dp"
                android:layout_width="wrap_content"
                android:layout_height="15dp"/>
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="15dp"
                android:paddingRight="15dp"
                android:paddingLeft="0dp"
                android:layout_toRightOf="@id/text_view_item_poster_label"
                android:id="@+id/imdb_star"
                app:srcCompat="@drawable/ic_star_24" />
            <TextView
                android:visibility="visible"
                android:elevation="10dp"
                android:textColor="@color/white"
                android:layout_marginLeft="-20dp"

                android:layout_toRightOf="@id/imdb_star"
                android:id="@+id/text_view_item_poster_sub_label"
                android:paddingRight="5dp"
                android:paddingLeft="2dp"
                android:gravity="center_vertical"
                android:text="0"
                android:textSize="9dp"
                android:textStyle="bold"
                android:layout_width="wrap_content"
                android:layout_height="15dp"/>

        </RelativeLayout>
        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <ImageView
                android:id="@+id/image_view_item_poster_image"
                android:adjustViewBounds="true"
                android:scaleType="centerCrop"
                android:src="@drawable/poster_placeholder"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <RelativeLayout
                android:layout_alignParentBottom="true"
                android:layout_alignParentStart="true"
                android:background="@drawable/bg_rectangle"
                android:layout_alignEnd="@+id/image_view_item_poster_image"
                android:layout_width="match_parent"
                android:layout_height="20dp">
            <TextView
                android:id="@+id/text_view_activity_movie_sub_title"
                android:textSize="14sp"
                android:textColor="@color/white"
                android:text="Movie Title"
                android:gravity="center"
                android:fontFamily="@font/muli"
                android:padding="1dp"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
        </RelativeLayout>
            <RelativeLayout
                android:layout_alignParentBottom="true"
                android:layout_alignParentEnd="true"
                android:background="@drawable/bg_delete_item"
                android:id="@+id/relative_layout_item_poster_delete"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
                <ImageView
                    android:visibility="visible"
                    android:id="@+id/image_view_item_poster_delete"
                    android:background="?attr/selectableItemBackgroundBorderless"
                    android:focusable="true"
                    android:clickable="true"
                    android:tint="@color/white"
                    app:srcCompat="@drawable/ic_delete"
                    android:padding="7dp"
                    android:layout_width="40dp"
                    android:layout_height="40dp" />
            </RelativeLayout>
        </RelativeLayout>
    </androidx.cardview.widget.CardView>
</LinearLayout>

PosterAdapter.java
JavaScript:
package com.starvideos.android.ui.Adapters;

import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RatingBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.bumptech.glide.GenericTransitionOptions;
import com.bumptech.glide.Glide;
import com.facebook.ads.Ad;
//import com.facebook.ads.AdChoicesView;
import com.facebook.ads.AdError;
import com.facebook.ads.AdOptionsView;
//import com.facebook.ads.AdIconView;
import com.facebook.ads.InterstitialAdListener;
import com.facebook.ads.MediaView;
import com.facebook.ads.NativeAd;
import com.facebook.ads.NativeAdListener;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdLoader;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.VideoController;
import com.google.android.gms.ads.VideoOptions;
import com.google.android.gms.ads.formats.NativeAdOptions;
import com.google.android.gms.ads.formats.UnifiedNativeAd;
import com.google.android.gms.ads.formats.UnifiedNativeAdView;
import com.orhanobut.hawk.Hawk;
import com.starvideos.android.Provider.PrefManager;
import com.starvideos.android.R;
import com.starvideos.android.api.apiClient;
import com.starvideos.android.api.apiRest;
import com.starvideos.android.entity.Channel;
import com.starvideos.android.entity.Poster;
import com.starvideos.android.ui.activities.MovieActivity;
import com.starvideos.android.ui.activities.SerieActivity;

import java.util.ArrayList;
import java.util.List;

import androidx.annotation.NonNull;
import androidx.core.app.ActivityOptionsCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import es.dmoral.toasty.Toasty;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Retrofit;

public class PosterAdapter  extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private List<Poster> posterList;
    private List<Channel> channelList;
    private Activity activity;
    private Boolean deletable = false;
    private LinearLayoutManager linearLayoutManagerChannelAdapter;
    private ChannelAdapter channelAdapter;
    private Integer position_selected;
    private Integer code_selected;
    private View view_selected;

    private InterstitialAd admobInterstitialAd;
    private com.facebook.ads.InterstitialAd facebookInterstitialAd;

    public PosterAdapter(List<Poster> posterList,List<Channel> channelList, Activity activity) {
        this.posterList = posterList;
        this.channelList = channelList;
        this.activity = activity;
    }
    public PosterAdapter(List<Poster> posterList, Activity activity) {
            this.posterList = posterList;
            this.activity = activity;
        }
    public PosterAdapter(List<Poster> posterList, Activity activity,boolean deletable) {
        this.posterList = posterList;
        this.activity = activity;
        this.deletable = deletable;
    }
    public PosterAdapter(List<Poster> posterList,List<Channel> channelList_, Activity activity,boolean deletable) {
        this.channelList = channelList_;
        this.posterList = posterList;
        this.activity = activity;
        this.deletable = deletable;
    }
    @Override
    public  RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        RecyclerView.ViewHolder viewHolder = null;
        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
        switch (viewType) {
            case 1: {
                View v1 = inflater.inflate(R.layout.item_poster,null);
                viewHolder = new PosterHolder(v1);
                break;
            }
            case 2: {
                View v2 = inflater.inflate(R.layout.item_empty, parent, false);
                viewHolder = new EmptyHolder(v2);
                break;
            }
            case 3: {
                View v3 = inflater.inflate(R.layout.item_channels_search, parent, false);
                viewHolder = new ChannelsHolder(v3);
                break;
            }
            case 4: {
                View v3 = inflater.inflate(R.layout.item_facebook_ads, parent, false);
                viewHolder = new FacebookNativeHolder(v3);
                break;
            }
            case 5: {
                View v4 = inflater.inflate(R.layout.item_admob_native_ads, parent, false);
                viewHolder = new AdmobNativeHolder(v4);
                break;
            }
        }
        return viewHolder;
    }


    @Override
        public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int position) {
        switch (getItemViewType(position)) {
            case 1:

                final PosterHolder holder = (PosterHolder) viewHolder;
                Glide .with(activity).load(posterList.get(position).getImage()).centerCrop().transition(GenericTransitionOptions.with(R.anim.zoom)).placeholder(R.drawable.poster_placeholder).into(holder.image_view_item_poster_image);
                holder.text_view_activity_movie_sub_title.setText(posterList.get(position).getTitle());
                if (deletable)
                    holder.relative_layout_item_poster_delete.setVisibility(View.VISIBLE);
                else
                    holder.relative_layout_item_poster_delete.setVisibility(View.GONE);

                if (posterList.get(position).getLabel() != null){
                    if (posterList.get(position).getLabel().length()>0) {
                        holder.text_view_item_poster_label.setText(posterList.get(position).getLabel());
                        holder.text_view_item_poster_label.setVisibility(View.VISIBLE);
                    }else{
                        holder.text_view_item_poster_label.setVisibility(View.GONE);
                    }
                }else{
                    holder.text_view_item_poster_label.setVisibility(View.GONE);
                }

                if (posterList.get(position).getImdb() != null){
                    if (!posterList.get(position).getImdb().isEmpty()) {
                        holder.text_view_item_poster_sub_label.setText(posterList.get(position).getImdb());
                        //holder.text_view_item_poster_sub_label.setVisibility(View.VISIBLE);
                    }
                }
                /*
                if (posterList.get(position).getSublabel() != null){
                    if (posterList.get(position).getSublabel().length()>0) {
                        holder.text_view_item_poster_sub_label.setText(posterList.get(position).getSublabel());
                        holder.text_view_item_poster_sub_label.setVisibility(View.VISIBLE);
                    }else{
                        holder.text_view_item_poster_sub_label.setVisibility(View.GONE);
                    }
                }else{
                    holder.text_view_item_poster_sub_label.setVisibility(View.GONE);
                }

                 */

                holder.image_view_item_poster_image.setOnClickListener(v -> {


                    ActivityOptionsCompat activityOptionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, holder.image_view_item_poster_image, "imageMain");
                    Intent intent = new Intent(activity, MovieActivity.class);
                    if (posterList.get(position).getType().equals("movie")) {
                         intent = new Intent(activity, MovieActivity.class);
                    } else if (posterList.get(position).getType().equals("serie")) {
                         intent = new Intent(activity, SerieActivity.class);
                    }
                    intent.putExtra("poster", posterList.get(holder.getAdapterPosition()));
                    final Intent intent1 = intent;

                    PrefManager prefManager= new PrefManager(activity);

                    if(checkSUBSCRIBED()){
                        activity.startActivity(intent1, activityOptionsCompat.toBundle());
                    }else{
                        if( prefManager.getString("ADMIN_INTERSTITIAL_TYPE").equals("ADMOB")){
                            requestAdmobInterstitial();

                            if(prefManager.getInt("ADMIN_INTERSTITIAL_CLICKS")<=prefManager.getInt("ADMOB_INTERSTITIAL_COUNT_CLICKS")){
                                if (admobInterstitialAd.isLoaded()) {
                                    prefManager.setInt("ADMOB_INTERSTITIAL_COUNT_CLICKS",0);
                                    admobInterstitialAd.show();
                                    admobInterstitialAd.setAdListener(new AdListener() {
                                        @Override
                                        public void onAdClosed() {
                                            requestAdmobInterstitial();
                                            //activity.startActivity(intent1, activityOptionsCompat.toBundle());
                                            activity.startActivity(intent1);
                                        }
                                    });
                                }else{
                                    activity.startActivity(intent, activityOptionsCompat.toBundle());
                                    requestAdmobInterstitial();
                                }
                            }else{
                                activity.startActivity(intent, activityOptionsCompat.toBundle());
                                prefManager.setInt("ADMOB_INTERSTITIAL_COUNT_CLICKS",prefManager.getInt("ADMOB_INTERSTITIAL_COUNT_CLICKS")+1);
                            }
                        }else if(prefManager.getString("ADMIN_INTERSTITIAL_TYPE").equals("FACEBOOK")){
                            requestFacebookInterstitial();
                            if(prefManager.getInt("ADMIN_INTERSTITIAL_CLICKS")<=prefManager.getInt("ADMOB_INTERSTITIAL_COUNT_CLICKS")){
                                if (facebookInterstitialAd.isAdLoaded()) {
                                    prefManager.setInt("ADMOB_INTERSTITIAL_COUNT_CLICKS",0);
                                    facebookInterstitialAd.show();
                                    code_selected = 1;
                                    position_selected = holder.getAdapterPosition();
                                    view_selected = holder.image_view_item_poster_image;
                                    /*
                                    facebookInterstitialAd.setAdListener(new InterstitialAdListener() {
                                        @Override
                                        public void onInterstitialDisplayed(Ad ad) {
                                            Log.d("MYADSNOW","onInterstitialDisplayed");
                                        }

                                        @Override
                                        public void onInterstitialDismissed(Ad ad) {
                                            ActivityOptionsCompat activityOptionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, holder.image_view_item_poster_image, "imageMain");
                                            Intent intent = new Intent(activity, MovieActivity.class);
                                            if (posterList.get(position).getType().equals("movie")) {
                                                intent = new Intent(activity, MovieActivity.class);
                                            } else if (posterList.get(position).getType().equals("serie")) {
                                                intent = new Intent(activity, SerieActivity.class);
                                            }
                                            intent.putExtra("poster", posterList.get(holder.getAdapterPosition()));
                                            activity.startActivity(intent);
                                        }

                                        @Override
                                        public void onError(Ad ad, AdError adError) {
                                            Log.d("MYADSNOW","onError");

                                        }

                                        @Override
                                        public void onAdLoaded(Ad ad) {
                                            Log.d("MYADSNOW","onAdLoaded");

                                        }

                                        @Override
                                        public void onAdClicked(Ad ad) {

                                            Log.d("MYADSNOW","onAdClicked");
                                        }

                                        @Override
                                        public void onLoggingImpression(Ad ad) {
                                            Log.d("MYADSNOW","onLoggingImpression");
                                        }
                                    });
                                    */
                                }else{
                                    activity.startActivity(intent, activityOptionsCompat.toBundle());
                                    requestFacebookInterstitial();
                                }
                            }else{
                                activity.startActivity(intent, activityOptionsCompat.toBundle());
                                prefManager.setInt("ADMOB_INTERSTITIAL_COUNT_CLICKS",prefManager.getInt("ADMOB_INTERSTITIAL_COUNT_CLICKS")+1);
                            }
                        }else if(prefManager.getString("ADMIN_INTERSTITIAL_TYPE").equals("BOTH")){
                            requestAdmobInterstitial();
                            requestFacebookInterstitial();
                            if(prefManager.getInt("ADMIN_INTERSTITIAL_CLICKS")<=prefManager.getInt("ADMOB_INTERSTITIAL_COUNT_CLICKS")) {
                                if (prefManager.getString("AD_INTERSTITIAL_SHOW_TYPE").equals("ADMOB")){
                                    if (admobInterstitialAd.isLoaded()) {
                                        prefManager.setInt("ADMOB_INTERSTITIAL_COUNT_CLICKS",0);
                                        prefManager.setString("AD_INTERSTITIAL_SHOW_TYPE","FACEBOOK");
                                        admobInterstitialAd.show();
                                        admobInterstitialAd.setAdListener(new AdListener(){
                                            @Override
                                            public void onAdClosed() {
                                                super.onAdClosed();
                                                //activity.startActivity(intent1, activityOptionsCompat.toBundle());
                                                activity.startActivity(intent1);
                                                requestFacebookInterstitial();
                                            }
                                        });
                                    }else{
                                        activity.startActivity(intent, activityOptionsCompat.toBundle());
                                        requestFacebookInterstitial();
                                    }
                                }else{
                                    if (facebookInterstitialAd.isAdLoaded()) {
                                        prefManager.setInt("ADMOB_INTERSTITIAL_COUNT_CLICKS",0);
                                        prefManager.setString("AD_INTERSTITIAL_SHOW_TYPE","ADMOB");
                                        facebookInterstitialAd.show();
                                        code_selected = 1;
                                        position_selected = holder.getAdapterPosition();
                                        view_selected = holder.image_view_item_poster_image;
                                        /*
                                        facebookInterstitialAd.setAdListener(new InterstitialAdListener() {
                                            @Override
                                            public void onInterstitialDisplayed(Ad ad) {

                                            }

                                            @Override
                                            public void onInterstitialDismissed(Ad ad) {
                                                ActivityOptionsCompat activityOptionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, holder.image_view_item_poster_image, "imageMain");
                                                Intent intent = new Intent(activity, MovieActivity.class);
                                                if (posterList.get(position).getType().equals("movie")) {
                                                    intent = new Intent(activity, MovieActivity.class);
                                                } else if (posterList.get(position).getType().equals("serie")) {
                                                    intent = new Intent(activity, SerieActivity.class);
                                                }
                                                intent.putExtra("poster", posterList.get(holder.getAdapterPosition()));
                                                activity.startActivity(intent);
                                            }

                                            @Override
                                            public void onError(Ad ad, AdError adError) {

                                            }

                                            @Override
                                            public void onAdLoaded(Ad ad) {

                                            }

                                            @Override
                                            public void onAdClicked(Ad ad) {

                                            }

                                            @Override
                                            public void onLoggingImpression(Ad ad) {

                                            }
                                        });
                                         */
                                    }else{
                                        activity.startActivity(intent, activityOptionsCompat.toBundle());
                                        requestFacebookInterstitial();
                                    }
                                }
                            }else{
                                activity.startActivity(intent, activityOptionsCompat.toBundle());
                                prefManager.setInt("ADMOB_INTERSTITIAL_COUNT_CLICKS",prefManager.getInt("ADMOB_INTERSTITIAL_COUNT_CLICKS")+1);
                            }
                        }else{
                            activity.startActivity(intent, activityOptionsCompat.toBundle());
                        }
                    }


                });
                holder.image_view_item_poster_delete.setOnClickListener(v->{

                    final PrefManager prefManager = new PrefManager(activity);
                    Integer id_user=  Integer.parseInt(prefManager.getString("ID_USER"));
                    String   key_user=  prefManager.getString("TOKEN_USER");
                    Retrofit retrofit = apiClient.getClient();
                    apiRest service = retrofit.create(apiRest.class);
                    Call<Integer> call = service.AddMyList(posterList.get(position).getId(),id_user,key_user,"poster");
                    call.enqueue(new Callback<Integer>() {
                        @Override
                        public void onResponse(Call<Integer> call, retrofit2.Response<Integer> response) {
                            if (response.isSuccessful()){
                                if (response.body() == 202){
                                    Toasty.warning(activity, "This movie has been removed from your list", Toast.LENGTH_SHORT).show();
                                }
                            }
                        }
                        @Override
                        public void onFailure(Call<Integer> call, Throwable t) {
                        }
                    });
                    posterList.remove(position);
                    notifyItemRemoved(position);
                    notifyDataSetChanged();

                });
                break;
            case 2:

                break;
            case 3:
                final ChannelsHolder holder_channel = (ChannelsHolder) viewHolder;
                this.linearLayoutManagerChannelAdapter=  new LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL, false);
                this.channelAdapter =new ChannelAdapter(channelList,activity,deletable);
                holder_channel.recycle_view_channels_item.setHasFixedSize(true);
                holder_channel.recycle_view_channels_item.setAdapter(channelAdapter);
                holder_channel.recycle_view_channels_item.setLayoutManager(linearLayoutManagerChannelAdapter);
                channelAdapter.notifyDataSetChanged();
                break;
            case 5:{
                final AdmobNativeHolder holder_admob = (AdmobNativeHolder) viewHolder;

                holder_admob.adLoader.loadAd(new AdRequest.Builder().build());

                break;
            }
        }

        }
        @Override
        public int getItemCount() {
            return posterList.size();
        }
        public class PosterHolder extends RecyclerView.ViewHolder {
            private final TextView text_view_item_poster_label;
            private final TextView text_view_item_poster_sub_label;
            private ImageView image_view_item_poster_delete;
            public ImageView image_view_item_poster_image ;
            public RelativeLayout relative_layout_item_poster_delete ;
            public TextView text_view_activity_movie_sub_title;
            public PosterHolder(View itemView) {
                super(itemView);
                this.image_view_item_poster_image =  (ImageView) itemView.findViewById(R.id.image_view_item_poster_image);
                this.relative_layout_item_poster_delete =  (RelativeLayout) itemView.findViewById(R.id.relative_layout_item_poster_delete);
                this.image_view_item_poster_delete =  (ImageView) itemView.findViewById(R.id.image_view_item_poster_delete);
                this.text_view_activity_movie_sub_title =  (TextView) itemView.findViewById(R.id.text_view_activity_movie_sub_title);
                this.text_view_item_poster_sub_label =  (TextView) itemView.findViewById(R.id.text_view_item_poster_sub_label);
                this.text_view_item_poster_label =  (TextView) itemView.findViewById(R.id.text_view_item_poster_label);

            }
        }
    public class EmptyHolder extends RecyclerView.ViewHolder {
        public EmptyHolder(View itemView) {
            super(itemView);
        }
    }
    @Override
    public int getItemViewType(int position) {
            if ((posterList.get(position).getTypeView())==0){
                return 1;
            }
        return   posterList.get(position).getTypeView();
    }

    private class ChannelsHolder extends RecyclerView.ViewHolder {
        private final RecyclerView recycle_view_channels_item;

        public ChannelsHolder(View v3) {
            super(v3);
            this.recycle_view_channels_item=(RecyclerView) itemView.findViewById(R.id.recycle_view_channels_item);
        }
    }

    public  class FacebookNativeHolder extends  RecyclerView.ViewHolder {
        private final String TAG = "WALLPAPERADAPTER";
        private com.facebook.ads.NativeAdLayout nativeAdLayout;
        private LinearLayout adView;
        private NativeAd nativeAd;
        public FacebookNativeHolder(View view) {
            super(view);
            loadNativeAd(view);
        }
    private void loadNativeAd(final View view) {
        // Instantiate a NativeAd object.
        // NOTE: the placement ID will eventually identify this as your App, you can ignore it for
        // now, while you are testing and replace it later when you have signed up.
        // While you are using this temporary code you will only get test ads and if you release
        // your code like this to the Google Play your users will not receive ads (you will get a no fill error).
        PrefManager prefManager= new PrefManager(activity);
        nativeAd = new NativeAd(activity,prefManager.getString("ADMIN_NATIVE_FACEBOOK_ID"));
        NativeAdListener nativeAdListener=new NativeAdListener() {
            @Override
            public void onMediaDownloaded(Ad ad) {
                // Native ad finished downloading all assets
                Log.e(TAG, "Native ad finished downloading all assets.");
            }
            @Override
            public void onError(Ad ad, AdError adError) {
                // Native ad failed to load
                Log.e(TAG, "Native ad failed to load: " + adError.getErrorMessage());
            }
            @Override
            public void onAdLoaded(Ad ad) {
                // Native ad is loaded and ready to be displayed
                Log.d(TAG, "Native ad is loaded and ready to be displayed!");
                // Race condition, load() called again before last ad was displayed
                if (nativeAd == null || nativeAd != ad) {
                    return;
                }
                   /* NativeAdViewAttributes viewAttributes = new NativeAdViewAttributes()
                            .setBackgroundColor(activity.getResources().getColor(R.color.colorPrimaryDark))
                            .setTitleTextColor(Color.WHITE)
                            .setDescriptionTextColor(Color.WHITE)
                            .setButtonColor(Color.WHITE);
                    View adView = NativeAdView.render(activity, nativeAd, NativeAdView.Type.HEIGHT_300, viewAttributes);
                    LinearLayout nativeAdContainer = (LinearLayout) view.findViewById(R.id.native_ad_container);
                    nativeAdContainer.addView(adView);*/
                // Inflate Native Ad into Container
                inflateAd(nativeAd,view);
            }
            @Override
            public void onAdClicked(Ad ad) {
                // Native ad clicked
                Log.d(TAG, "Native ad clicked!");
            }
            @Override
            public void onLoggingImpression(Ad ad) {
                // Native ad impression
                Log.d(TAG, "Native ad impression logged!");
            }
        };
        // Request an ad
        nativeAd.loadAd(
                nativeAd.buildLoadAdConfig()
                        .withAdListener(nativeAdListener)
                        .build());
    }
    private void inflateAd(NativeAd nativeAd,View view) {
        nativeAd.unregisterView();
        // Add the Ad view into the ad container.
        nativeAdLayout = view.findViewById(R.id.native_ad_container);
        LayoutInflater inflater = LayoutInflater.from(activity);
        // Inflate the Ad view.  The layout referenced should be the one you created in the last step.
        adView = (LinearLayout) inflater.inflate(R.layout.native_ad_layout_1, nativeAdLayout, false);
        nativeAdLayout.addView(adView);
        // Add the AdOptionsView
        LinearLayout adChoicesContainer = view.findViewById(R.id.ad_choices_container);
        AdOptionsView adOptionsView = new AdOptionsView(activity, nativeAd, nativeAdLayout);
        adChoicesContainer.removeAllViews();
        adChoicesContainer.addView(adOptionsView, 0);
        // Create native UI using the ad metadata.
        MediaView nativeAdIcon = adView.findViewById(R.id.native_ad_icon);
        TextView nativeAdTitle = adView.findViewById(R.id.native_ad_title);
        MediaView nativeAdMedia = adView.findViewById(R.id.native_ad_media);
        TextView nativeAdSocialContext = adView.findViewById(R.id.native_ad_social_context);
        TextView nativeAdBody = adView.findViewById(R.id.native_ad_body);
        TextView sponsoredLabel = adView.findViewById(R.id.native_ad_sponsored_label);
        Button nativeAdCallToAction = adView.findViewById(R.id.native_ad_call_to_action);
        // Set the Text.
        nativeAdTitle.setText(nativeAd.getAdvertiserName());
        nativeAdBody.setText(nativeAd.getAdBodyText());
        nativeAdSocialContext.setText(nativeAd.getAdSocialContext());
        nativeAdCallToAction.setVisibility(nativeAd.hasCallToAction() ? View.VISIBLE : View.INVISIBLE);
        nativeAdCallToAction.setText(nativeAd.getAdCallToAction());
        sponsoredLabel.setText(nativeAd.getSponsoredTranslation());
        // Create a list of clickable views
        List<View> clickableViews = new ArrayList<>();
        clickableViews.add(nativeAdTitle);
        clickableViews.add(nativeAdCallToAction);
        // Register the Title and CTA button to listen for clicks.
        nativeAd.registerViewForInteraction(
                adView, nativeAdMedia, nativeAdIcon, clickableViews);
    }
}
public class AdmobNativeHolder extends RecyclerView.ViewHolder {
    private final AdLoader adLoader;
    private UnifiedNativeAd nativeAd;
    private FrameLayout frameLayout;
    public AdmobNativeHolder(@NonNull View itemView) {
        super(itemView);
        PrefManager prefManager= new PrefManager(activity);
        frameLayout = (FrameLayout) itemView.findViewById(R.id.fl_adplaceholder);
        AdLoader.Builder builder = new AdLoader.Builder(activity, prefManager.getString("ADMIN_NATIVE_ADMOB_ID"));
        builder.forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
            // OnUnifiedNativeAdLoadedListener implementation.
            @Override
            public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) {
                // You must call destroy on old ads when you are done with them,
                // otherwise you will have a memory leak.
                if (nativeAd != null) {
                    nativeAd.destroy();
                }
                nativeAd = unifiedNativeAd;
                UnifiedNativeAdView adView = (UnifiedNativeAdView) activity.getLayoutInflater()
                        .inflate(R.layout.ad_unified, null);
                populateUnifiedNativeAdView(unifiedNativeAd, adView);
                frameLayout.removeAllViews();
                frameLayout.addView(adView);
            }
        });
        VideoOptions videoOptions = new VideoOptions.Builder()
                .setStartMuted(true)
                .build();
        NativeAdOptions adOptions = new NativeAdOptions.Builder()
                .setVideoOptions(videoOptions)
                .build();
        builder.withNativeAdOptions(adOptions);
        this.adLoader = builder.withAdListener(new AdListener() {
            @Override
            public void onAdFailedToLoad(int errorCode) {
            }
        }).build();
    }
}
    /**
     * Populates a {@link UnifiedNativeAdView} object with data from a given
     * {@link UnifiedNativeAd}.
     *
     * @param nativeAd the object containing the ad's assets
     * @param adView          the view to be populated
     */
    private void populateUnifiedNativeAdView(UnifiedNativeAd nativeAd, UnifiedNativeAdView adView) {
        // Set the media view. Media content will be automatically populated in the media view once
        // adView.setNativeAd() is called.
        com.google.android.gms.ads.formats.MediaView mediaView = adView.findViewById(R.id.ad_media);
        mediaView.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() {
            @Override
            public void onChildViewAdded(View parent, View child) {
                if (child instanceof ImageView) {
                    ImageView imageView = (ImageView) child;
                    imageView.setAdjustViewBounds(true);
                    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
                }
            }
            @Override
            public void onChildViewRemoved(View parent, View child) {
            }
        });
        adView.setMediaView(mediaView);
        // Set other ad assets.
        adView.setHeadlineView(adView.findViewById(R.id.ad_headline));
        adView.setBodyView(adView.findViewById(R.id.ad_body));
        adView.setCallToActionView(adView.findViewById(R.id.ad_call_to_action));
        adView.setIconView(adView.findViewById(R.id.ad_app_icon));
        adView.setPriceView(adView.findViewById(R.id.ad_price));
        adView.setStarRatingView(adView.findViewById(R.id.ad_stars));
        adView.setStoreView(adView.findViewById(R.id.ad_store));
        adView.setAdvertiserView(adView.findViewById(R.id.ad_advertiser));
        // The headline is guaranteed to be in every UnifiedNativeAd.
        ((TextView) adView.getHeadlineView()).setText(nativeAd.getHeadline());
        // These assets aren't guaranteed to be in every UnifiedNativeAd, so it's important to
        // check before trying to display them.
        if (nativeAd.getBody() == null) {
            adView.getBodyView().setVisibility(View.INVISIBLE);
        } else {
            adView.getBodyView().setVisibility(View.VISIBLE);
            ((TextView) adView.getBodyView()).setText(nativeAd.getBody());
        }
        if (nativeAd.getCallToAction() == null) {
            adView.getCallToActionView().setVisibility(View.INVISIBLE);
        } else {
            adView.getCallToActionView().setVisibility(View.VISIBLE);
            ((Button) adView.getCallToActionView()).setText(nativeAd.getCallToAction());
        }
        if (nativeAd.getIcon() == null) {
            adView.getIconView().setVisibility(View.GONE);
        } else {
            ((ImageView) adView.getIconView()).setImageDrawable(
                    nativeAd.getIcon().getDrawable());
            adView.getIconView().setVisibility(View.VISIBLE);
        }
        if (nativeAd.getPrice() == null) {
            adView.getPriceView().setVisibility(View.INVISIBLE);
        } else {
            adView.getPriceView().setVisibility(View.VISIBLE);
            ((TextView) adView.getPriceView()).setText(nativeAd.getPrice());
        }
        if (nativeAd.getStore() == null) {
            adView.getStoreView().setVisibility(View.INVISIBLE);
        } else {
            adView.getStoreView().setVisibility(View.VISIBLE);
            ((TextView) adView.getStoreView()).setText(nativeAd.getStore());
        }
        if (nativeAd.getStarRating() == null) {
            adView.getStarRatingView().setVisibility(View.INVISIBLE);
        } else {
            ((RatingBar) adView.getStarRatingView())
                    .setRating(nativeAd.getStarRating().floatValue());
            adView.getStarRatingView().setVisibility(View.VISIBLE);
        }
        if (nativeAd.getAdvertiser() == null) {
            adView.getAdvertiserView().setVisibility(View.INVISIBLE);
        } else {
            ((TextView) adView.getAdvertiserView()).setText(nativeAd.getAdvertiser());
            adView.getAdvertiserView().setVisibility(View.VISIBLE);
        }
        // This method tells the Google Mobile Ads SDK that you have finished populating your
        // native ad view with this native ad. The SDK will populate the adView's MediaView
        // with the media content from this native ad.
        adView.setNativeAd(nativeAd);
        // Get the video controller for the ad. One will always be provided, even if the ad doesn't
        // have a video asset.
        VideoController vc = nativeAd.getVideoController();
        // Updates the UI to say whether or not this ad has a video asset.
        if (vc.hasVideoContent()) {
            // Create a new VideoLifecycleCallbacks object and pass it to the VideoController. The
            // VideoController will call methods on this object when events occur in the video
            // lifecycle.
            vc.setVideoLifecycleCallbacks(new VideoController.VideoLifecycleCallbacks() {
                @Override
                public void onVideoEnd() {
                    // Publishers should allow native ads to complete video playback before
                    // refreshing or replacing them with another ad in the same UI location.
                    super.onVideoEnd();
                }
            });
        } else {
        }
    }

    public void selectOperation(Integer position,Integer code,View vew){
        switch (code){
            case 1:
                ActivityOptionsCompat activityOptionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(activity,vew, "imageMain");
                Intent intent = new Intent(activity, MovieActivity.class);
                if (posterList.get(position).getType().equals("movie")) {
                    intent = new Intent(activity, MovieActivity.class);
                } else if (posterList.get(position).getType().equals("serie")) {
                    intent = new Intent(activity, SerieActivity.class);
                }
                intent.putExtra("poster", posterList.get(position));
                activity.startActivity(intent);
                break;
        }
    }
    private void requestFacebookInterstitial() {
        if (facebookInterstitialAd==null) {
            PrefManager prefManager= new PrefManager(activity);
            facebookInterstitialAd = new com.facebook.ads.InterstitialAd(activity, prefManager.getString("ADMIN_INTERSTITIAL_FACEBOOK_ID"));
        }
        /*
        if (!facebookInterstitialAd.isAdLoaded())
            facebookInterstitialAd.loadAd();
         */
        if (!facebookInterstitialAd.isAdLoaded()){
            InterstitialAdListener interstitialAdListener =   new InterstitialAdListener() {
                @Override
                public void onInterstitialDisplayed(Ad ad) {}
                @Override
                public void onInterstitialDismissed(Ad ad) {
                    selectOperation(position_selected,code_selected,view_selected);
                }
                @Override
                public void onError(Ad ad, AdError adError) {
                    Log.v("FACEBOOK_INTER",adError.getErrorMessage());
                }
                @Override
                public void onAdLoaded(Ad ad) {Log.v("FACEBOOK_INTER","Loaded");}
                @Override
                public void onAdClicked(Ad ad) {}
                @Override
                public void onLoggingImpression(Ad ad) {}
            };
            facebookInterstitialAd.loadAd(
                    facebookInterstitialAd.buildLoadAdConfig()
                            .withAdListener(interstitialAdListener)
                            .build());
        }
        }
    private void requestAdmobInterstitial() {
        if (admobInterstitialAd==null){
            PrefManager prefManager= new PrefManager(activity);
            admobInterstitialAd = new InterstitialAd(activity.getApplicationContext());
            admobInterstitialAd.setAdUnitId(prefManager.getString("ADMIN_INTERSTITIAL_ADMOB_ID"));
        }
        if (!admobInterstitialAd.isLoaded()){
            AdRequest adRequest = new AdRequest.Builder()
                    .build();
            admobInterstitialAd.loadAd(adRequest);
        }
    }
    public boolean checkSUBSCRIBED(){
        PrefManager prefManager= new PrefManager(activity);
        if (!prefManager.getString("SUBSCRIBED").equals("TRUE") && !prefManager.getString("NEW_SUBSCRIBE_ENABLED").equals("TRUE")) {
            return false;
        }
        return true;
    }
}
 
  • Like
Reactions: AMWolfstein
AdBlock Detected

We get it, advertisements are annoying!

However in order to keep our huge array of resources free of charge we need to generate income from ads so to use the site you will need to turn off your adblocker.

If you'd like to have an ad free experience you can become a Babiato Lover by donating as little as $5 per month. Click on the Donate menu tab for more info.

I've Disabled AdBlock