Skip to main content

ExtendedToolbarActivity

public abstract class ExtendedToolbarActivity extends AppCompatActivity {


    public abstract int getLayoutId();

    public static final String TAG = "Test";

    ProgressDialog progressDialog;
    @Nullable    @BindView(R.id.progressbar)
    ProgressBar progressBar;
    @Nullable    @BindView(R.id.tv_no_data)
    TextView tvNoData;
    @Nullable    @BindView(R.id.view_blank)
    View viewBlank;
    @Nullable    @BindView(R.id.toolbar)
    Toolbar toolbar;
    @Nullable    @BindView(R.id.tv_toolbar_title)
    TextView tvTitle;
    @Nullable    @BindView(R.id.progress_load_more)
    ProgressBar progressLoadMore;


    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(getLayoutId());
        ButterKnife.bind(this);
        setSupportActionBar(toolbar);
//        getSupportActionBar().setDisplayShowTitleEnabled(true);    }

    public void setTitle(String title) {
        if (tvTitle != null) {
            tvTitle.setText(title);
        }

        if (getSupportActionBar() != null) {
            getSupportActionBar().setTitle("");
        }


    }


    public Toolbar getToolbar() {
        if (toolbar != null) {
            return toolbar;
        }
        return null;
    }


    /**     * IT IS USED WHERE WE DON'T REQUIRE BACK BUTTON.     */    public void setNavigationHomeAsUp() {
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setHomeButtonEnabled(true);
        }

        getToolbar().setNavigationOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                onBackPressed();
            }
        });

    }


    public void setCustomNavigationHomeAsUp(boolean isAppIcon) {
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            if (isAppIcon) {
                final Drawable upArrow = getResources().getDrawable(R.drawable.icon_logout);
                upArrow.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);
                getSupportActionBar().setHomeAsUpIndicator(upArrow);
            } else {
                getToolbar().setNavigationOnClickListener(new View.OnClickListener() {
                    @Override                    public void onClick(View v) {
                        onBackPressed();
                    }
                });
            }
        }


    }

    /**     * IT IS USED WHERE WE DON'T REQUIRE BACK BUTTON.     */    public void setNavigationHomeAsUp(boolean isVisible) {
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(isVisible);
            getSupportActionBar().setHomeButtonEnabled(isVisible);
        }
        getToolbar().setNavigationOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                onBackPressed();
            }
        });

    }

    public void hideToolbar() {
        if (toolbar != null) {
            toolbar.setVisibility(View.GONE);
        }
    }


    public void startActivity(Intent intent) {
        super.startActivity(intent);
        AnimatorClass.appearLeftAnimation(this);
    }

    public void startActivityForResult(Intent intent, int requestCode) {
        super.startActivityForResult(intent, requestCode);
        AnimatorClass.appearLeftAnimation(this);
    }

    @Override    public void onBackPressed() {
        super.onBackPressed();
        AnimatorClass.disappearLeftAnimation(this);

    }

    /**     * Method for display snack bar     *     * @param context     * @param message = SHOW CUSTOM MESSAGE     **/
    public void showSnackBar(Context context, String message) {
        ViewGroup view = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);
        Snackbar snackbar = Snackbar.make(view, "" + message, Snackbar.LENGTH_LONG).setActionTextColor(Color.RED);
        ViewGroup viewGroup = (ViewGroup) snackbar.getView();
        viewGroup.setBackgroundColor(ContextCompat.getColor(context, R.color.colorPrimary));
        View viewTv = snackbar.getView();
        TextView tv = (TextView) viewTv.findViewById(android.support.design.R.id.snackbar_text);
        tv.setTextColor(ContextCompat.getColor(context, android.R.color.white));
// tv.setTextSize(21f);        snackbar.show();
    }

    public void showActionSnackBar(Context context, String message, final RetryCallbackListener retryCallbackListener) {
        ViewGroup view = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);
        Snackbar snackbar = Snackbar.make(view, "" + message, Snackbar.LENGTH_INDEFINITE).setActionTextColor(Color.RED)
                .setActionTextColor(ContextCompat.getColor(context, android.R.color.black)).setAction("Retry", new View.OnClickListener() {
                    @Override                    public void onClick(View view) {
                        Log.e(TAG, "onClick: action click");
                        retryCallbackListener.Retry(true);
                    }

                });
        ViewGroup viewGroup = (ViewGroup) snackbar.getView();
        viewGroup.setBackgroundColor(ContextCompat.getColor(context, R.color.colorPrimary));
        View viewTv = snackbar.getView();
        TextView tv = (TextView) viewTv.findViewById(android.support.design.R.id.snackbar_text);
        tv.setTextColor(ContextCompat.getColor(context, android.R.color.white));
// tv.setTextSize(21f);        snackbar.show();
    }


    /**     * CHECK INTERNET CONNECTIVITY.     *     * @param context     * @return     */
    public boolean IsInternetConnected(Context context) {
        ConnectivityManager connectivity = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        if (connectivity != null) {
            NetworkInfo nInfo = connectivity.getActiveNetworkInfo();
            if (nInfo != null) {
                //do your thing                if (nInfo.getType() == ConnectivityManager.TYPE_WIFI) {
                    // connected to wifi                    return true;
                } else if (nInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
                    // connected to the mobile provider's data plan                    return true;
                }

            }
            return false;

        }
        return false;
    }


    /**     * SIMPLE DIALOG PROGRESS     *     * @param ctx     */    public void showProgressDialog(Context ctx) {
        progressDialog = ProgressDialog.show(ctx, "",
                ctx.getResources().getString(R.string.str_please_wait), true, true);

    }


    public void showProgressDialog(Context ctx, boolean canCancel) {
        progressDialog = ProgressDialog.show(ctx, "",
                ctx.getResources().getString(R.string.str_please_wait), true, canCancel);

    }

    public void hideProgressDialog() {
        if (progressDialog != null) {
            progressDialog.dismiss();
        }
    }


    /**     * SHOW ERROR MESSAGE/NO INTERNET MESSAGE     *     * @param isInternet     */    public void showErrorMessage(boolean isInternet) {
        if (tvNoData != null) {
            if (isInternet) {
                tvNoData.setText(getResources().getString(R.string.msg_internet_error));
            } else {
                tvNoData.setText(getResources().getString(R.string.msg_no_data_found));
            }
            tvNoData.setVisibility(View.VISIBLE);
        }
    }

    /**     * SHOW CUSTOM MESSSAGE     *     * @param message     */    public void showErrorMessage(String message) {
        if (tvNoData != null) {
            tvNoData.setVisibility(View.VISIBLE);
            tvNoData.setText(message);
        }
    }

    /**     * HIDE ERROR  MESSAGE     */    public void hideErrorMessage() {
        if (tvNoData != null) {
            tvNoData.setVisibility(View.GONE);
        }

    }

    /**     * SHOW PROGRESS BAR     */    public void showProgressbar() {
        if (progressBar != null) {
            progressBar.setVisibility(View.VISIBLE);
        }

    }

    /**     * HIDE PROGRESS BAR     */    public void hideProgressbar() {
        if (progressBar != null) {
            progressBar.setVisibility(View.GONE);
        }
    }

    /**     * SHOW BLANK VIEW     */    public void showBlankView() {
        if (viewBlank != null) {
            viewBlank.setVisibility(View.VISIBLE);
        }
    }

    /**     * HIDE BLANK VIEW     */    public void hideBankView() {
        if (viewBlank != null) {
            viewBlank.setVisibility(View.GONE);
        }
    }

    /**     * SHOW BLANK VIEW     */    public void showLoadMore() {
        if (progressLoadMore != null) {
            progressLoadMore.setVisibility(View.VISIBLE);
        }
    }

    /**     * HIDE BLANK VIEW     */    public void hideLoadMore() {
        if (progressLoadMore != null) {
            progressLoadMore.setVisibility(View.GONE);
        }
    }

    public boolean isProgressDialogVisible() {
        if (progressDialog != null) {
            if (progressDialog.isShowing())
                return true;
        }
        return false;
    }


}




<?xml version="1.0" encoding="utf-8"?><android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/toolbar"    android:layout_width="match_parent"    android:layout_height="?attr/actionBarSize"    android:background="?attr/colorPrimary"    android:minHeight="?attr/actionBarSize"    app:layout_collapseMode="pin"    app:theme="@style/ActionBarThemeOverlay">


    <com.healthbanc.customviews.CustomTextViewFont        android:id="@+id/tv_toolbar_title"        style="@style/white_18"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        app:customTextFont="FONT_THIN"        tools:text="Title" />


</android.support.v7.widget.Toolbar>



style
<!-- TOOLBAR STYLE--><style name="ActionBarThemeOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <!-- Color of Toolbar Font Color -->    <item name="android:textColorPrimary">@android:color/white</item>
    <!-- Color of Toolbar Action Buttons -->    <item name="colorControlNormal">@android:color/white</item>
    <!-- <item name="colorControlHighlight">@android:color/black</item> --></style>

Comments

Popular posts from this blog

Getview Method Wierd in Listview

Its common issue in android and most of newbee faced. To understand why its happening, you have to read about behavior of Getview method of listivew, its your home work, let continue with tutorial. Below tutorial will explain that how to maintain the position of button  which is in row file using settag and gettag. main.xml ( its contain listview which will hold row data) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:descendantFocusability="blocksDescendants">  <ListView         android:id="@+id/listView"         android:layout_width="fill_parent"         android:layout_height="fill_parent"/> </LinearLayout> ...

Amazon S3 Configuration

Gradles //amazon s3 compile 'com.amazonaws:aws-android-sdk-core:2.2.+' compile 'com.amazonaws:aws-android-sdk-s3:2.2.+' Declare in manefiest file <!--AMAZON S3--> < service android :name= "com.amazonaws.mobileconnectors.s3.transferutility.TransferService" android :enabled= "true" /> AmazonUtils.java import android.content.Context; import android.net.Uri; import com.amazonaws.auth.CognitoCachingCredentialsProvider; import com.amazonaws.mobileconnectors.s3.transferutility.TransferObserver; import com.amazonaws.mobileconnectors.s3.transferutility.TransferUtility; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3Client; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Map; import java.util.UUID; /* * Handles basic helper functions used throughout the app. */ public class AmazonUtil { // We only n...
Update Progress in notification: public class NetworkService extends IntentService {     public static final String FILE_PATH = "file_path";     public static final String _FILE_PATH = "_path";     public static final String PERCENT_EXTRA = "percent";     public static final String FILE_NAME_EXTRA = "FileName";     public static final String STATE_EXTRA = "state";     public static final String IS_ALBUM_UPLAODING = "IsAlbumUplaoding";     public static final String XML = "xml";     public static final String TOKEN = "token";     public static final String MESSAGE = "mesasge";     public static final String POST_DATE = "postdate";     public static final String USERID = "userid";     public static final String GROUPID = "groupid";     public static final String PATH = "path"; ...