I'm trying to access my application without internet and I want the application to inform that there is no connection instead of closing alone giving an error. When my internet is disabled, I cannot access the application. It simply closes by itself returning the error:
    D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.myapp.test, PID: 20245
    java.lang.NullPointerException
        at java.util.Objects.requireNonNull(Objects.java:203)
        at java.util.Arrays$ArrayList.<init>(Arrays.java:3741)
        at java.util.Arrays.asList(Arrays.java:3728)
        at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:164)
        at com.myapp.test.utils.adapters.CustomGridView.<init>(CustomGridView.java:35)
        at com.myapp.test.fragment.FragmentHome.onCreateView(FragmentHome.java:193)
        at android.support.v4.app.Fragment.performCreateView(Fragment.java:2346)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1428)
        at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1759)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1827)
        at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797)
        at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2596)
        at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2383)
        at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2338)
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2245)
        at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3248)
        at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3200)
        at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:195)
        at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:597)
        at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1392)
        at android.app.Activity.performStart(Activity.java:7260)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3009)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1840)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:201)
        at android.app.ActivityThread.main(ActivityThread.java:6872)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
E/MQSEventManagerDelegate: failed to get MQSService.
As I understand it, I need to return a null value, but I can't implement it in my code. Can someone help me?
Here is the code for my GridView:
    package com.myapp.test.utils.adapters;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.myapp.test.R;
import com.myapp.test.utils.image.RoundedSquareImageView;
import com.myapp.test.utils.text.DinTextView;
import java.io.InputStream;
/**
 * Created by jaiso on 13-02-2018.
 */
public class CustomGridView extends ArrayAdapter<String>{
    private String[] profilename;
    private String[] imagepath;
    private String[] ImgUserStatus;
    private Activity context;
    Bitmap bitmap;
    public CustomGridView(Activity context, String[] profilename, String[] imagepath, String[] ImgUserStatus) {
        super(context, R.layout.item_home_grid_users,profilename);
        this.context=context;
        this.profilename=profilename;
        this.imagepath=imagepath;
        this.ImgUserStatus=ImgUserStatus;
    }
    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent){
        View r=convertView;
        ViewHolder viewHolder=null;
        if(r==null){
            LayoutInflater layoutInflater=context.getLayoutInflater();
            r=layoutInflater.inflate(R.layout.item_home_grid_users,null,true);
            viewHolder=new ViewHolder(r);
            r.setTag(viewHolder);
        }
        else {
            viewHolder=(ViewHolder)r.getTag();
        }
        viewHolder.tvw1.setText(profilename[position]);
        new GetImageFromURL(viewHolder.ivw).execute(imagepath[position]);
        new GetImageFromURLStatus(viewHolder.ImgStatusOnlineOffline).execute(ImgUserStatus[position]);
        return r;
    }
    class ViewHolder{
        DinTextView tvw1;
        RoundedSquareImageView ivw;
        ImageView ImgStatusOnlineOffline;
        LinearLayout LinearFavIconHidden;
        ViewHolder(View v){
            tvw1=(DinTextView)v.findViewById(R.id.fragm_feed_txt_name);
            ivw=(RoundedSquareImageView)v.findViewById(R.id.fragm_feed_profile_image);
            ImgStatusOnlineOffline=(ImageView)v.findViewById(R.id.fragm_home_user_img_status_online_offline);
        }
    }
    public class GetImageFromURL extends AsyncTask<String,Void,Bitmap>
    {
        RoundedSquareImageView imgView;
        public GetImageFromURL(RoundedSquareImageView imgv)
        {
            this.imgView=imgv;
        }
        @Override
        protected Bitmap doInBackground(String... url) {
            String urldisplay=url[0];
            bitmap=null;
            try{
                InputStream ist=new java.net.URL(urldisplay).openStream();
                bitmap= BitmapFactory.decodeStream(ist);
            }
            catch (Exception ex)
            {
                ex.printStackTrace();
            }
            return bitmap;
        }
        @Override
        protected void onPostExecute(Bitmap bitmap){
            super.onPostExecute(bitmap);
            imgView.setImageBitmap(bitmap);
        }
    }
    public class GetImageFromURLStatus extends AsyncTask<String,Void,Bitmap>
    {
        ImageView imgViewStatus;
        public GetImageFromURLStatus(ImageView imgvStatus)
        {
            this.imgViewStatus=imgvStatus;
        }
        @Override
        protected Bitmap doInBackground(String... url) {
            String urldisplay=url[0];
            bitmap=null;
            try{
                InputStream ist=new java.net.URL(urldisplay).openStream();
                bitmap= BitmapFactory.decodeStream(ist);
            }
            catch (Exception ex)
            {
                ex.printStackTrace();
            }
            return bitmap;
        }
        @Override
        protected void onPostExecute(Bitmap bitmap){
            super.onPostExecute(bitmap);
            imgViewStatus.setImageBitmap(bitmap);
        }
    }
}
 
     
    