diff --git a/app/build.gradle b/app/build.gradle
index 0c95ebd6..56f5e4f4 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -168,7 +168,7 @@ dependencies {
implementation "uk.co.samuelwall:material-tap-target-prompt:2.14.0"
implementation project(":agendacalendarview")
- implementation project(":cafebar")
+ implementation "eu.szkolny:cafebar:5bf0c618de"
implementation "eu.szkolny:material-about-library:0534abf316"
implementation project(":mhttp")
implementation project(":nachos")
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
index 1e73e267..084cace6 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
@@ -532,12 +532,12 @@ class MainActivity : AppCompatActivity(), CoroutineScope {
app.config.appRateSnackbarTime = 0
}
.onNegative { cafeBar ->
- Toast.makeText(this, "Szkoda, opinie innych pomagają mi rozwijać aplikację.", Toast.LENGTH_LONG).show()
+ Toast.makeText(this, R.string.rate_snackbar_negative_message, Toast.LENGTH_LONG).show()
cafeBar.dismiss()
app.config.appRateSnackbarTime = 0
}
.onNeutral { cafeBar ->
- Toast.makeText(this, "OK", Toast.LENGTH_LONG).show()
+ Toast.makeText(this, R.string.ok, Toast.LENGTH_LONG).show()
cafeBar.dismiss()
app.config.appRateSnackbarTime = System.currentTimeMillis() + 7 * 24 * 60 * 60 * 1000
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a913914d..0ea45e49 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1386,4 +1386,5 @@
{cmd-alert-circle-outline} Wersja testowa
{cmd-android-studio} Wersja deweloperska
\???
+ Szkoda, opinie innych pomagają mi rozwijać aplikację.
diff --git a/cafebar/build.gradle b/cafebar/build.gradle
deleted file mode 100644
index 4e992077..00000000
--- a/cafebar/build.gradle
+++ /dev/null
@@ -1,64 +0,0 @@
-apply plugin: 'com.android.library'
-
-/*
- * CafeBar
- *
- * Copyright (c) 2017 Dani Mahardhika
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-group = 'com.github.danimahardhika'
-
-android {
- compileSdkVersion setup.compileSdk
-
- defaultConfig {
- minSdkVersion 16
- targetSdkVersion setup.targetSdk
- versionCode 132
- versionName "1.3.2"
- vectorDrawables.useSupportLibrary = true
-
- }
-
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- debugMinify {
- debuggable = true
- minifyEnabled = true
- proguardFiles 'proguard-android.txt'
- }
- }
-
- lintOptions {
- abortOnError false
- }
-
- sourceSets {
- main.res.srcDirs = [
- 'src/main/res',
- 'src/main/res-public'
- ]
- }
-}
-
-dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation "com.google.android.material:material:${versions.material}"
- implementation "androidx.cardview:cardview:${versions.cardview}"
- implementation "androidx.appcompat:appcompat:${versions.appcompat}"
-}
diff --git a/cafebar/src/main/AndroidManifest.xml b/cafebar/src/main/AndroidManifest.xml
deleted file mode 100644
index e0513a98..00000000
--- a/cafebar/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
diff --git a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBar.java b/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBar.java
deleted file mode 100644
index 7c376733..00000000
--- a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBar.java
+++ /dev/null
@@ -1,712 +0,0 @@
-package com.danimahardhika.cafebar;
-
-/*
- * CafeBar
- *
- * Copyright (c) 2017 Dani Mahardhika
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.res.Configuration;
-import android.graphics.Bitmap;
-import android.graphics.Typeface;
-import android.graphics.drawable.Drawable;
-import android.os.Build;
-import android.text.SpannableStringBuilder;
-import android.view.View;
-import android.view.ViewTreeObserver;
-import android.view.Window;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.google.android.material.snackbar.Snackbar;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.ref.WeakReference;
-import java.util.HashMap;
-
-import androidx.annotation.BoolRes;
-import androidx.annotation.ColorInt;
-import androidx.annotation.DrawableRes;
-import androidx.annotation.IntDef;
-import androidx.annotation.IntRange;
-import androidx.annotation.LayoutRes;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.StringRes;
-import androidx.appcompat.view.ContextThemeWrapper;
-import androidx.cardview.widget.CardView;
-import androidx.coordinatorlayout.widget.CoordinatorLayout;
-
-@SuppressWarnings("unused")
-public class CafeBar {
-
- static final String FONT_CONTENT = "content";
- static final String FONT_POSITIVE = "positive";
- static final String FONT_NEGATIVE = "negative";
- static final String FONT_NEUTRAL = "neutral";
-
- private Builder mBuilder;
- private Snackbar mSnackBar;
-
- private CafeBar(@NonNull Builder builder) {
- mBuilder = builder;
-
- View baseLayout = mBuilder.mCustomView;
- if (baseLayout == null) {
- LogUtil.d("CafeBar doesn't have customView, preparing it ...");
- baseLayout = CafeBarUtil.getBaseCafeBarView(mBuilder);
- }
-
- mSnackBar = CafeBarUtil.getBaseSnackBar(baseLayout, mBuilder);
- if (mSnackBar == null) {
- mBuilder = null;
- throw new IllegalStateException("CafeBar base is null");
- }
-
- if (mBuilder.mCustomView != null) {
- LogUtil.d("CafeBar has custom view, set buttons ignored");
- return;
- }
-
- if (mBuilder.mPositiveText == null && mBuilder.mNegativeText == null) {
- //Only contains neutral button
- if (mBuilder.mNeutralText != null) {
- int neutralColor = CafeBarUtil.getAccentColor(mBuilder.mContext, mBuilder.mNegativeColor);
- setAction(mBuilder.mNeutralText, neutralColor, mBuilder.mNeutralCallback);
- }
- } else {
- //Contains positive or negative button
- LinearLayout root = (LinearLayout) getView();
- LinearLayout buttonBase = root.findViewById(R.id.cafebar_button_base);
-
- if (mBuilder.mNeutralText != null) {
- TextView neutral = buttonBase.findViewById(R.id.cafebar_button_neutral);
- neutral.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (mBuilder.mNeutralCallback != null) {
- mBuilder.mNeutralCallback.OnClick(getCafeBar());
- return;
- }
-
- dismiss();
- }
- });
- }
-
- if (mBuilder.mNegativeText != null) {
- TextView negative = buttonBase.findViewById(R.id.cafebar_button_negative);
- negative.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (mBuilder.mNegativeCallback != null) {
- mBuilder.mNegativeCallback.OnClick(getCafeBar());
- return;
- }
-
- dismiss();
- }
- });
- }
-
- if (mBuilder.mPositiveText != null) {
- TextView positive = buttonBase.findViewById(R.id.cafebar_button_positive);
- positive.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (mBuilder.mPositiveCallback != null) {
- mBuilder.mPositiveCallback.OnClick(getCafeBar());
- return;
- }
-
- dismiss();
- }
- });
- }
- }
- }
-
- public static void enableLogging(boolean enableLogging) {
- LogUtil.sEnableLogging = enableLogging;
- }
-
- @NonNull
- public static CafeBar make(@NonNull Context context, @StringRes int res, @Snackbar.Duration int duration) {
- String string = context.getResources().getString(res);
- return create(context, null, string, duration);
- }
-
- @NonNull
- public static CafeBar make(@NonNull Context context, @NonNull String content, @Snackbar.Duration int duration) {
- return create(context, null, content, duration);
- }
-
- @NonNull
- public static CafeBar make(@NonNull View to, @StringRes int res, @Snackbar.Duration int duration) {
- Context context = to.getContext();
- if (context instanceof ContextThemeWrapper) {
- context = ((ContextThemeWrapper) context).getBaseContext();
- }
- String string = context.getResources().getString(res);
- return create(context, to, string, duration);
- }
-
- @NonNull
- public static CafeBar make(@NonNull View to, @NonNull String content, @Snackbar.Duration int duration) {
- Context context = to.getContext();
- if (context instanceof ContextThemeWrapper) {
- context = ((ContextThemeWrapper) context).getBaseContext();
- }
- return create(context, to, content, duration);
- }
-
- @NonNull
- private static CafeBar create(@NonNull Context context, @Nullable View to, @NonNull String content, @Snackbar.Duration int duration) {
- CafeBar.Builder builder = new Builder(context);
- builder.to(to);
- builder.content(content);
- builder.duration(duration);
- if (duration == Snackbar.LENGTH_INDEFINITE) {
- builder.autoDismiss(false);
- }
- return new CafeBar(builder);
- }
-
- public CafeBar setAction(@StringRes int res, @Nullable CafeBarCallback callback) {
- String string = mBuilder.mContext.getResources().getString(res);
- int actionColor = CafeBarUtil.getAccentColor(mBuilder.mContext, mBuilder.mTheme.getTitleColor());
- setButtonAction(string, actionColor, callback);
- return this;
- }
-
- public CafeBar setAction(@NonNull String action, @Nullable CafeBarCallback callback) {
- int actionColor = CafeBarUtil.getAccentColor(mBuilder.mContext, mBuilder.mTheme.getTitleColor());
- setButtonAction(action, actionColor, callback);
- return this;
- }
-
- public CafeBar setAction(@StringRes int res, int color, @Nullable CafeBarCallback callback) {
- String string = mBuilder.mContext.getResources().getString(res);
- setButtonAction(string, color, callback);
- return this;
- }
-
- public CafeBar setAction(@NonNull String action, int color, @Nullable CafeBarCallback callback) {
- setButtonAction(action, color, callback);
- return this;
- }
-
- private void setButtonAction(@NonNull String action, int color, @Nullable final CafeBarCallback callback) {
- if (mBuilder.mCustomView != null) {
- LogUtil.d("CafeBar has customView, setAction ignored.");
- return;
- }
-
- LogUtil.d("preparing action view");
- mBuilder.mNeutralText = action;
- mBuilder.mNeutralColor = color;
-
- LinearLayout root = (LinearLayout) getView();
- boolean longAction = CafeBarUtil.isLongAction(action);
-
- if (root.getChildCount() > 1) {
- LogUtil.d("setAction already set from builder via neutralText");
- return;
- }
-
- TextView content = root.findViewById(R.id.cafebar_content);
-
- int side = mBuilder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_content_padding_side);
- int top = mBuilder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_content_padding_top);
- int buttonPadding = mBuilder.mContext.getResources().getDimensionPixelSize(
- R.dimen.cafebar_button_padding);
- int bottom = 0;
-
- if (longAction) {
- bottom = buttonPadding;
- root.setOrientation(LinearLayout.VERTICAL);
- content.setPadding(0, 0, buttonPadding, 0);
- } else {
- LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) content.getLayoutParams();
- params.width = 0;
- params.weight = 1f;
- content.setLayoutParams(params);
- }
-
- int navBar = 0;
- if (mBuilder.mFitSystemWindow && !mBuilder.mFloating) {
- navBar = CafeBarUtil.getNavigationBarHeight(mBuilder.mContext);
- }
-
- Configuration configuration = mBuilder.mContext.getResources().getConfiguration();
- boolean tabletMode = mBuilder.mContext.getResources().getBoolean(R.bool.cafebar_tablet_mode);
-
- if (tabletMode || configuration.orientation == Configuration.ORIENTATION_PORTRAIT) {
- if (mBuilder.mLongContent) {
- LogUtil.d("content has multi lines");
- root.setPadding(side, side, (side - buttonPadding), (side - bottom + navBar));
- } else if (longAction){
- LogUtil.d("content only 1 line with longAction");
- root.setPadding(side, top, (side - buttonPadding), (top - buttonPadding + navBar));
- } else {
- LogUtil.d("content only 1 line");
- root.setPadding(side, (top - buttonPadding), (side - buttonPadding), (top - buttonPadding + navBar));
- }
- } else {
- if (mBuilder.mLongContent) {
- LogUtil.d("content has multi lines");
- root.setPadding(side, side, (side - buttonPadding + navBar), (side - bottom));
- } else if (longAction) {
- LogUtil.d("content only 1 line with longAction");
- root.setPadding(side, top, (side - buttonPadding + navBar), (top - buttonPadding));
- } else {
- LogUtil.d("content only 1 line");
- root.setPadding(side, (top - buttonPadding), (side - buttonPadding + navBar), (top - buttonPadding));
- }
- }
-
- TextView button = CafeBarUtil.getActionView(mBuilder, action, color);
- if (mBuilder.getTypeface(FONT_NEUTRAL) != null) {
- button.setTypeface(mBuilder.getTypeface(FONT_NEUTRAL));
- }
-
- if (!longAction) {
- boolean multiLines = CafeBarUtil.isContentMultiLines(mBuilder);
- if (multiLines) {
- if (mBuilder.mFitSystemWindow && !mBuilder.mFloating) {
- if (tabletMode || configuration.orientation == Configuration.ORIENTATION_PORTRAIT) {
- root.setPadding(side, side, (side - buttonPadding), (side + navBar));
- } else {
- root.setPadding(side, side, (side - buttonPadding + navBar), side);
- }
- } else {
- root.setPadding(side, side, (side - buttonPadding), side);
- }
- }
- }
-
- button.setOnClickListener(new View.OnClickListener() {
-
- @Override
- public void onClick(View view) {
- if (callback != null) {
- callback.OnClick(getCafeBar());
- return;
- }
-
- LogUtil.d("callback = null, CafeBar dismissed");
- dismiss();
- }
- });
-
- root.addView(button);
- }
-
-
-
- @NonNull
- private CafeBar getCafeBar() {
- return this;
- }
-
- @NonNull
- public View getView() {
- Snackbar.SnackbarLayout snackBarLayout = (Snackbar.SnackbarLayout) mSnackBar.getView();
-
- boolean tabletMode = mBuilder.mContext.getResources().getBoolean(R.bool.cafebar_tablet_mode);
-
- if (tabletMode || mBuilder.mFloating) {
- CardView cardView = (CardView) snackBarLayout.getChildAt(0);
- return cardView.getChildAt(0);
- }
-
- LinearLayout linearLayout = (LinearLayout) snackBarLayout.getChildAt(0);
- if (mBuilder.mShowShadow) return linearLayout.getChildAt(1);
- return linearLayout.getChildAt(0);
- }
-
- public void dismiss() {
- if (mSnackBar == null) return;
-
- mSnackBar.dismiss();
- }
-
- public void show() {
- mSnackBar.show();
-
- if (mBuilder.mSwipeToDismiss) return;
-
- if (mSnackBar.getView().getLayoutParams() instanceof CoordinatorLayout.LayoutParams) {
- mSnackBar.getView().getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
-
- @Override
- public boolean onPreDraw() {
- mSnackBar.getView().getViewTreeObserver().removeOnPreDrawListener(this);
- ((CoordinatorLayout.LayoutParams) mSnackBar.getView().getLayoutParams()).setBehavior(null);
- return true;
- }
- });
- }
- }
-
- @NonNull
- public static Builder builder(@NonNull Context context) {
- return new Builder(context);
- }
-
- @SuppressWarnings("unused")
- public static class Builder {
-
- Context mContext;
-
- @NonNull View mTo;
- @Nullable View mCustomView;
- CafeBarTheme.Custom mTheme = CafeBarTheme.Custom(CafeBarTheme.DARK.getColor());
- CafeBarGravity mGravity = CafeBarGravity.CENTER;
-
- @Snackbar.Duration
- int mDuration = Snackbar.LENGTH_SHORT;
- int mMaxLines = 2;
- @ColorInt
- int mPositiveColor = mTheme.getTitleColor();
- @ColorInt int mNegativeColor = mTheme.getTitleColor();
- @ColorInt int mNeutralColor = mTheme.getTitleColor();
-
- boolean mLongContent = false;
- boolean mAutoDismiss = true;
- boolean mShowShadow = true;
- boolean mFitSystemWindow = false;
- boolean mFloating = false;
- boolean mTintIcon = true;
- boolean mSwipeToDismiss = true;
-
- private HashMap> mTypefaces;
-
- @Nullable Drawable mIcon = null;
-
- String mContent = "";
- @Nullable String mPositiveText = null;
- @Nullable String mNegativeText = null;
- @Nullable String mNeutralText = null;
-
- @Nullable SpannableStringBuilder mSpannableBuilder = null;
-
- @Nullable CafeBarCallback mPositiveCallback;
- @Nullable CafeBarCallback mNegativeCallback;
- @Nullable CafeBarCallback mNeutralCallback;
-
- public Builder(@NonNull Context context) {
- mContext = context;
- mTypefaces = new HashMap<>();
-
- mTo = ((Activity) mContext).getWindow().getDecorView()
- .findViewById(android.R.id.content);
- }
-
- public Builder to(@Nullable View view) {
- if (view != null) {
- mTo = view;
- return this;
- }
-
- LogUtil.e("to(View): view is null, ignored");
- return this;
- }
-
- public Builder customView(@LayoutRes int res) {
- View view = View.inflate(mContext, res, null);
- return customView(view);
- }
-
- public Builder customView(@Nullable View customView) {
- mCustomView = customView;
- return this;
- }
-
- public Builder content(@StringRes int res) {
- return content(mContext.getResources().getString(res));
- }
-
- public Builder content(@NonNull String content) {
- mContent = content;
- return this;
- }
-
- public Builder content(@NonNull SpannableStringBuilder spannableBuilder) {
- mSpannableBuilder = spannableBuilder;
- return this;
- }
-
- public Builder maxLines(@IntRange(from = 1, to = 6) int maxLines) {
- mMaxLines = maxLines;
- return this;
- }
-
- public Builder duration(@Snackbar.Duration int duration) {
- mDuration = duration;
- return this;
- }
-
- public Builder theme(@NonNull CafeBarTheme theme) {
- return theme(CafeBarTheme.Custom(theme.getColor()));
- }
-
- public Builder theme(@NonNull CafeBarTheme.Custom customTheme) {
- mTheme = customTheme;
- mPositiveColor = mTheme.getTitleColor();
- mNegativeColor = mNeutralColor = mTheme.getSubTitleColor();
- return this;
- }
-
- public Builder icon(@Nullable Bitmap icon) {
- return icon(CafeBarUtil.toDrawable(mContext, icon), true);
- }
-
- public Builder icon(@DrawableRes int res) {
- return icon(CafeBarUtil.getDrawable(mContext, res), true);
- }
-
- public Builder icon(@Nullable Drawable icon) {
- return icon(icon, true);
- }
-
- public Builder icon(@Nullable Bitmap icon, boolean tintIcon) {
- return icon(CafeBarUtil.toDrawable(mContext, icon), tintIcon);
- }
-
- public Builder icon(@DrawableRes int res, boolean tintIcon) {
- return icon(CafeBarUtil.getDrawable(mContext, res), tintIcon);
- }
-
- public Builder icon(@Nullable Drawable icon, boolean tintIcon) {
- mIcon = icon;
- mTintIcon = tintIcon;
- return this;
- }
-
- public Builder showShadow(@BoolRes int res) {
- return showShadow(mContext.getResources().getBoolean(res));
- }
-
- public Builder showShadow(boolean showShadow) {
- mShowShadow = showShadow;
- return this;
- }
-
- public Builder autoDismiss(@BoolRes int res) {
- return autoDismiss(mContext.getResources().getBoolean(res));
- }
-
- public Builder autoDismiss(boolean autoDismiss) {
- mAutoDismiss = autoDismiss;
- return this;
- }
-
- public Builder swipeToDismiss(@BoolRes int res) {
- return swipeToDismiss(mContext.getResources().getBoolean(res));
- }
-
- public Builder swipeToDismiss(boolean swipeToDismiss) {
- mSwipeToDismiss = swipeToDismiss;
- return this;
- }
-
- public Builder floating(@BoolRes int res) {
- return floating(mContext.getResources().getBoolean(res));
- }
-
- public Builder floating(boolean floating) {
- mFloating = floating;
- return this;
- }
-
- public Builder gravity(@NonNull CafeBarGravity gravity) {
- mGravity = gravity;
- return this;
- }
-
- public Builder fitSystemWindow() {
- Activity activity = (Activity) mContext;
- Window window = activity.getWindow();
- if (window == null) {
- LogUtil.d("fitSystemWindow() window is null");
- return this;
- }
-
- WindowManager.LayoutParams params = window.getAttributes();
- int navigationBarHeight = CafeBarUtil.getNavigationBarHeight(mContext);
-
- boolean isInMultiWindowMode = false;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- isInMultiWindowMode = activity.isInMultiWindowMode();
- }
-
- if ((params.flags & WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) ==
- WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) {
- mFitSystemWindow = navigationBarHeight > 0 && !isInMultiWindowMode;
- }
- return this;
- }
-
- public Builder typeface(String contentFontName, String buttonFontName) {
- return typeface(CafeBarUtil.getTypeface(mContext, contentFontName),
- CafeBarUtil.getTypeface(mContext, buttonFontName));
- }
-
- public Builder typeface(@Nullable Typeface content, @Nullable Typeface button) {
- addTypeface(FONT_CONTENT, content);
- addTypeface(FONT_POSITIVE, button);
- addTypeface(FONT_NEGATIVE, button);
- addTypeface(FONT_NEUTRAL, button);
- return this;
- }
-
- public Builder contentTypeface(String fontName) {
- return contentTypeface(CafeBarUtil.getTypeface(mContext, fontName));
- }
-
- public Builder contentTypeface(@Nullable Typeface typeface) {
- addTypeface(FONT_CONTENT, typeface);
- return this;
- }
-
- public Builder positiveTypeface(String fontName) {
- return positiveTypeface(CafeBarUtil.getTypeface(mContext, fontName));
- }
-
- public Builder positiveTypeface(@Nullable Typeface typeface) {
- addTypeface(FONT_POSITIVE,typeface);
- return this;
- }
-
- public Builder negativeTypeface(String fontName) {
- return negativeTypeface(CafeBarUtil.getTypeface(mContext, fontName));
- }
-
- public Builder negativeTypeface(@Nullable Typeface typeface) {
- addTypeface(FONT_NEGATIVE, typeface);
- return this;
- }
-
- public Builder neutralTypeface(String fontName) {
- return neutralTypeface(CafeBarUtil.getTypeface(mContext, fontName));
- }
-
- public Builder neutralTypeface(@Nullable Typeface typeface) {
- addTypeface(FONT_NEUTRAL, typeface);
- return this;
- }
-
- public Builder buttonTypeface(String fontName) {
- return buttonTypeface(CafeBarUtil.getTypeface(mContext, fontName));
- }
-
- public Builder buttonTypeface(@Nullable Typeface typeface) {
- addTypeface(FONT_POSITIVE, typeface);
- addTypeface(FONT_NEGATIVE, typeface);
- addTypeface(FONT_NEUTRAL, typeface);
- return this;
- }
-
- public Builder positiveColor(int positiveColor) {
- mPositiveColor = CafeBarUtil.getColor(mContext, positiveColor);
- return this;
- }
-
- public Builder negativeColor(int negativeColor) {
- mNegativeColor = CafeBarUtil.getColor(mContext, negativeColor);
- return this;
- }
-
- public Builder neutralColor(int neutralColor) {
- mNeutralColor = CafeBarUtil.getColor(mContext, neutralColor);
- return this;
- }
-
- public Builder buttonColor(int buttonColor) {
- int color = CafeBarUtil.getColor(mContext, buttonColor);
- mNeutralColor = mPositiveColor = mNegativeColor = color;
- return this;
- }
-
- public Builder positiveText(@StringRes int res) {
- return positiveText(mContext.getResources().getString(res));
- }
-
- public Builder positiveText(@NonNull String positiveText) {
- mPositiveText = positiveText;
- return this;
- }
-
- public Builder negativeText(@StringRes int res) {
- return negativeText(mContext.getResources().getString(res));
- }
-
- public Builder negativeText(@NonNull String negativeText) {
- mNegativeText = negativeText;
- return this;
- }
-
- public Builder neutralText(@StringRes int res) {
- return neutralText(mContext.getResources().getString(res));
- }
-
- public Builder neutralText(@NonNull String neutralText) {
- mNeutralText = neutralText;
- return this;
- }
-
- public Builder onPositive(@Nullable CafeBarCallback positiveCallback) {
- mPositiveCallback = positiveCallback;
- return this;
- }
-
- public Builder onNegative(@Nullable CafeBarCallback negativeCallback) {
- mNegativeCallback = negativeCallback;
- return this;
- }
-
- public Builder onNeutral(@Nullable CafeBarCallback neutralCallback) {
- mNeutralCallback = neutralCallback;
- return this;
- }
-
- public CafeBar build() {
- return new CafeBar(this);
- }
-
- public void show() {
- build().show();
- }
-
- private void addTypeface(String name, Typeface typeface) {
- if (!mTypefaces.containsKey(name) || mTypefaces.get(name) == null) {
- mTypefaces.put(name, new WeakReference<>(typeface));
- }
- }
-
- @Nullable
- Typeface getTypeface(String name) {
- if (mTypefaces.get(name) != null) {
- return mTypefaces.get(name).get();
- }
- return null;
- }
- }
-}
diff --git a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarCallback.java b/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarCallback.java
deleted file mode 100644
index 4a25749a..00000000
--- a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarCallback.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.danimahardhika.cafebar;
-
-/*
- * CafeBar
- *
- * Copyright (c) 2017 Dani Mahardhika
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-import androidx.annotation.NonNull;
-
-public interface CafeBarCallback {
-
- void OnClick(@NonNull CafeBar cafeBar);
-}
diff --git a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarGravity.java b/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarGravity.java
deleted file mode 100644
index 9cd17023..00000000
--- a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarGravity.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.danimahardhika.cafebar;
-
-/*
- * CafeBar
- *
- * Copyright (c) 2017 Dani Mahardhika
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-import android.view.Gravity;
-
-@SuppressWarnings("unused")
-public enum CafeBarGravity {
- START(Gravity.START),
- CENTER(Gravity.CENTER),
- END(Gravity.END);
-
- private int mGravity;
-
- CafeBarGravity(int gravity) {
- mGravity = gravity;
- }
-
- int getGravity() {
- return mGravity;
- }
-}
diff --git a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarTheme.java b/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarTheme.java
deleted file mode 100644
index 2ec8f3c8..00000000
--- a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarTheme.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.danimahardhika.cafebar;
-
-/*
- * CafeBar
- *
- * Copyright (c) 2017 Dani Mahardhika
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import android.graphics.Color;
-
-import androidx.annotation.ColorInt;
-
-@SuppressWarnings("unused")
-public enum CafeBarTheme {
-
- LIGHT(Color.parseColor("#F5F5F5")),
- DARK(Color.parseColor("#323232")),
- CLEAR_BLACK(Color.BLACK);
-
- private int mColor;
-
- CafeBarTheme(@ColorInt int color) {
- mColor = color;
- }
-
- @ColorInt
- int getColor() {
- return mColor;
- }
-
- public static Custom Custom(@ColorInt int color) {
- return new Custom(color);
- }
-
- public static class Custom {
-
- private int mColor;
-
- private Custom(int color) {
- mColor = color;
- }
-
- @ColorInt
- int getColor() {
- return mColor;
- }
-
- @ColorInt
- int getTitleColor() {
- return CafeBarUtil.getTitleTextColor(mColor);
- }
-
- @ColorInt
- int getSubTitleColor() {
- return CafeBarUtil.getSubTitleTextColor(mColor);
- }
- }
-}
diff --git a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarUtil.java b/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarUtil.java
deleted file mode 100644
index 7a776342..00000000
--- a/cafebar/src/main/java/com/danimahardhika/cafebar/CafeBarUtil.java
+++ /dev/null
@@ -1,593 +0,0 @@
-package com.danimahardhika.cafebar;
-
-/*
- * CafeBar
- *
- * Copyright (c) 2017 Dani Mahardhika
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Point;
-import android.graphics.PorterDuff;
-import android.graphics.Typeface;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.os.Build;
-import android.text.TextUtils;
-import android.util.DisplayMetrics;
-import android.util.Log;
-import android.util.TypedValue;
-import android.view.Display;
-import android.view.Gravity;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.google.android.material.snackbar.Snackbar;
-
-import java.util.Locale;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.DrawableRes;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.cardview.widget.CardView;
-import androidx.core.content.ContextCompat;
-
-class CafeBarUtil {
-
- @NonNull
- static View getBaseCafeBarView(@NonNull CafeBar.Builder builder) {
- int color = builder.mTheme.getColor();
- int titleColor = builder.mTheme.getTitleColor();
-
- //Creating LinearLayout as rootView
- LinearLayout root = new LinearLayout(builder.mContext);
- root.setId(R.id.cafebar_root);
- root.setOrientation(LinearLayout.HORIZONTAL);
- root.setGravity(Gravity.CENTER_VERTICAL);
- root.setBackgroundColor(color);
- root.setLayoutParams(new LinearLayout.LayoutParams(
- ViewGroup.LayoutParams.MATCH_PARENT,
- ViewGroup.LayoutParams.WRAP_CONTENT));
- root.setClickable(true);
-
- //Creating TextView for content
- TextView content = new TextView(builder.mContext);
- content.setId(R.id.cafebar_content);
- content.setMaxLines(builder.mMaxLines);
- content.setEllipsize(TextUtils.TruncateAt.END);
- content.setTextColor(titleColor);
- content.setTextSize(TypedValue.COMPLEX_UNIT_PX, builder.mContext.getResources()
- .getDimensionPixelSize(R.dimen.cafebar_content_text));
- if (builder.getTypeface(CafeBar.FONT_CONTENT) != null) {
- content.setTypeface(builder.getTypeface(CafeBar.FONT_CONTENT));
- }
-
- content.setText(builder.mContent);
- if (builder.mSpannableBuilder != null) {
- content.setText(builder.mSpannableBuilder, TextView.BufferType.SPANNABLE);
- }
-
- content.setLayoutParams(new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- LinearLayout.LayoutParams.WRAP_CONTENT));
- content.setGravity(Gravity.CENTER_VERTICAL);
-
- boolean tabletMode = builder.mContext.getResources().getBoolean(R.bool.cafebar_tablet_mode);
- if (tabletMode || builder.mFloating) {
- content.setLayoutParams(new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.WRAP_CONTENT,
- LinearLayout.LayoutParams.WRAP_CONTENT));
- content.setMinWidth(builder.mContext.getResources()
- .getDimensionPixelSize(R.dimen.cafebar_floating_min_width));
- content.setMaxWidth(builder.mContext.getResources()
- .getDimensionPixelSize(R.dimen.cafebar_floating_max_width));
- }
-
- int side = builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_content_padding_side);
- int top = builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_content_padding_top);
-
- if (builder.mIcon != null) {
- Drawable drawable = getResizedDrawable(
- builder.mContext,
- builder.mIcon,
- titleColor,
- builder.mTintIcon);
- if (drawable != null) {
- content.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null);
- content.setCompoundDrawablePadding(top);
- }
- }
-
- boolean multiLines = isContentMultiLines(builder);
- boolean containsPositive = builder.mPositiveText != null;
- boolean containsNegative = builder.mNegativeText != null;
- boolean longNeutralAction = isLongAction(builder.mNeutralText);
-
- if (multiLines || containsPositive || containsNegative || longNeutralAction) {
- top = side;
- builder.mLongContent = true;
- }
-
- root.setPadding(side, top, side, top);
-
- if (builder.mPositiveText == null && builder.mNegativeText == null) {
- if (builder.mFitSystemWindow && !builder.mFloating) {
- Configuration configuration = builder.mContext.getResources().getConfiguration();
- int navBar = getNavigationBarHeight(builder.mContext);
-
- if (tabletMode || configuration.orientation == Configuration.ORIENTATION_PORTRAIT) {
- root.setPadding(side, top, side, (top + navBar));
- } else {
- root.setPadding(side, top, (side + navBar), top);
- }
- }
-
- //Adding childView to rootView
- root.addView(content);
-
- //Returning rootView
- return root;
- }
-
- //Change root orientation to vertical
- root.setOrientation(LinearLayout.VERTICAL);
-
- //Creating another linear layout for button container
- LinearLayout buttonBase = new LinearLayout(builder.mContext);
- buttonBase.setId(R.id.cafebar_button_base);
- buttonBase.setOrientation(LinearLayout.HORIZONTAL);
- buttonBase.setGravity(Gravity.END);
- buttonBase.setLayoutParams(new LinearLayout.LayoutParams(
- ViewGroup.LayoutParams.MATCH_PARENT,
- ViewGroup.LayoutParams.WRAP_CONTENT));
-
- //Adding button
- String neutralText = builder.mNeutralText;
- if (neutralText != null) {
- TextView neutral = getActionView(builder, neutralText, builder.mNeutralColor);
- neutral.setId(R.id.cafebar_button_neutral);
-
- if (builder.getTypeface(CafeBar.FONT_NEUTRAL) != null) {
- neutral.setTypeface(builder.getTypeface(CafeBar.FONT_NEUTRAL));
- }
-
- buttonBase.addView(neutral);
- }
-
- String negativeText = builder.mNegativeText;
- if (negativeText != null) {
- TextView negative = getActionView(builder, negativeText, builder.mNegativeColor);
- negative.setId(R.id.cafebar_button_negative);
-
- LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) negative.getLayoutParams();
- params.setMargins(
- params.leftMargin + builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_button_margin),
- params.topMargin,
- params.rightMargin,
- params.bottomMargin);
-
- if (builder.getTypeface(CafeBar.FONT_NEGATIVE) != null) {
- negative.setTypeface(builder.getTypeface(CafeBar.FONT_NEGATIVE));
- }
-
- buttonBase.addView(negative);
- }
-
- String positiveText = builder.mPositiveText;
- if (positiveText != null) {
- int positiveColor = CafeBarUtil.getAccentColor(builder.mContext, builder.mPositiveColor);
- TextView positive = getActionView(builder, positiveText, positiveColor);
- positive.setId(R.id.cafebar_button_positive);
-
- LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) positive.getLayoutParams();
- params.setMargins(
- params.leftMargin + builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_button_margin),
- params.topMargin,
- params.rightMargin,
- params.bottomMargin);
-
- if (builder.getTypeface(CafeBar.FONT_POSITIVE) != null) {
- positive.setTypeface(builder.getTypeface(CafeBar.FONT_POSITIVE));
- }
-
- buttonBase.addView(positive);
- }
-
- //Adjust padding
- int buttonPadding = builder.mContext.getResources().getDimensionPixelSize(
- R.dimen.cafebar_button_padding);
- root.setPadding(side, top, (side - buttonPadding), (top - buttonPadding));
-
- if (builder.mFitSystemWindow && !builder.mFloating) {
- Configuration configuration = builder.mContext.getResources().getConfiguration();
- int navBar = getNavigationBarHeight(builder.mContext);
-
- if (tabletMode || configuration.orientation == Configuration.ORIENTATION_PORTRAIT) {
- root.setPadding(side, top, (side - buttonPadding), (top - buttonPadding + navBar));
- } else {
- root.setPadding(side, top, (side - buttonPadding + navBar), top);
- }
- }
-
- //Adding content to container
- content.setPadding(0, 0, buttonPadding, 0);
-
- //Adding childView to rootView
- root.addView(content);
-
- //Adding button container to root
- root.addView(buttonBase);
-
- //Returning rootView
- return root;
- }
-
- static Snackbar getBaseSnackBar(@NonNull View cafeBarLayout,
- @NonNull CafeBar.Builder builder) {
- View view = builder.mTo;
-
- Snackbar snackBar = Snackbar.make(view, "", builder.mAutoDismiss ?
- builder.mDuration : Snackbar.LENGTH_INDEFINITE);
- Snackbar.SnackbarLayout snackBarLayout = (Snackbar.SnackbarLayout) snackBar.getView();
- snackBarLayout.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
- snackBarLayout.setPadding(0, 0, 0, 0);
- snackBarLayout.setBackgroundColor(Color.TRANSPARENT);
- snackBarLayout.setClickable(false);
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- snackBarLayout.setElevation(0);
- }
-
- TextView textView = snackBarLayout.findViewById(
- R.id.snackbar_text);
- if (textView != null) textView.setVisibility(View.INVISIBLE);
-
- boolean tabletMode = builder.mContext.getResources().getBoolean(R.bool.cafebar_tablet_mode);
- if (tabletMode || builder.mFloating) {
- int shadow = builder.mContext.getResources().getDimensionPixelSize(R.dimen.cardview_default_elevation);
- int padding = builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_floating_padding);
-
- CardView cardView = new CardView(builder.mContext);
- cardView.setUseCompatPadding(false);
- Snackbar.SnackbarLayout.LayoutParams params = new Snackbar.SnackbarLayout.LayoutParams(
- LinearLayout.LayoutParams.WRAP_CONTENT,
- LinearLayout.LayoutParams.WRAP_CONTENT);
- params.gravity = builder.mGravity.getGravity();
-
- int bottom = builder.mFloating ? padding : 0;
- snackBarLayout.setClipToPadding(false);
- snackBarLayout.setPadding(padding, shadow, padding, bottom);
-
- if (builder.mFitSystemWindow && builder.mFloating) {
- Configuration configuration = builder.mContext.getResources().getConfiguration();
- int navBar = getNavigationBarHeight(builder.mContext);
-
- if (configuration.orientation == Configuration.ORIENTATION_PORTRAIT) {
- snackBarLayout.setPadding(padding, shadow, padding, bottom + navBar);
- } else {
- snackBarLayout.setPadding(padding, shadow, padding + navBar, bottom);
- }
- }
-
- cardView.setLayoutParams(params);
- cardView.setClickable(true);
- if (!builder.mShowShadow) {
- cardView.setCardElevation(0f);
- }
-
- cardView.addView(cafeBarLayout);
- snackBarLayout.addView(cardView, 0);
- return snackBar;
- }
-
- LinearLayout root = new LinearLayout(builder.mContext);
- root.setOrientation(LinearLayout.VERTICAL);
- root.setLayoutParams(new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- LinearLayout.LayoutParams.WRAP_CONTENT));
-
- if (builder.mShowShadow) {
- View shadow = new View(builder.mContext);
- shadow.setLayoutParams(new LinearLayout.LayoutParams(
- ViewGroup.LayoutParams.MATCH_PARENT,
- builder.mContext.getResources().getDimensionPixelSize(
- R.dimen.cafebar_shadow_top)));
- shadow.setBackgroundResource(R.drawable.cafebar_shadow_top);
- root.addView(shadow);
- }
-
- root.addView(cafeBarLayout);
- snackBarLayout.addView(root, 0);
- return snackBar;
- }
-
- @NonNull
- static TextView getActionView(@NonNull CafeBar.Builder builder, @NonNull String action, int color) {
- boolean longAction = isLongAction(action);
- int res = R.layout.cafebar_action_button_dark;
-
- CafeBarTheme.Custom customTheme = builder.mTheme;
- int titleColor = customTheme.getTitleColor();
- boolean dark = titleColor != Color.WHITE;
- if (dark) {
- res = R.layout.cafebar_action_button;
- }
-
- int padding = builder.mContext.getResources().getDimensionPixelSize(
- R.dimen.cafebar_button_padding);
-
- TextView button = (TextView) View.inflate(builder.mContext, res, null);
- button.setText(action.toUpperCase(Locale.getDefault()));
- button.setMaxLines(1);
- button.setEllipsize(TextUtils.TruncateAt.END);
- button.setTextColor(color);
- button.setPadding(padding, padding, padding, padding);
-
- LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.WRAP_CONTENT,
- LinearLayout.LayoutParams.WRAP_CONTENT);
-
- int side = builder.mContext.getResources().getDimensionPixelSize(
- R.dimen.cafebar_content_padding_side);
- int margin = builder.mContext.getResources().getDimensionPixelSize(
- R.dimen.cafebar_button_margin_start);
- params.setMargins(margin, 0, 0, 0);
-
- if (longAction) {
- params.setMargins(0, (side - padding), 0, 0);
- }
-
- if (builder.mPositiveText != null || builder.mNegativeText != null) {
- longAction = true;
- params.setMargins(0, (side - padding), 0, 0);
- } else {
- params.gravity = Gravity.CENTER_VERTICAL | Gravity.END;
- }
-
- button.setLayoutParams(params);
-
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
- button.setBackgroundResource(dark ? R.drawable.cafebar_action_button_selector_dark :
- R.drawable.cafebar_action_button_selector);
- return button;
- }
-
- TypedValue outValue = new TypedValue();
- builder.mContext.getTheme().resolveAttribute(longAction ?
- R.attr.selectableItemBackground : R.attr.selectableItemBackgroundBorderless,
- outValue, true);
- button.setBackgroundResource(outValue.resourceId);
- return button;
- }
-
- static boolean isContentMultiLines(@NonNull CafeBar.Builder builder) {
- DisplayMetrics metrics = new DisplayMetrics();
- ((Activity) builder.mContext).getWindowManager().getDefaultDisplay().getMetrics(metrics);
-
- boolean tabletMode = builder.mContext.getResources().getBoolean(R.bool.cafebar_tablet_mode);
- int padding = (builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_content_padding_side) * 2);
-
- if (builder.mNeutralText != null && builder.mNegativeText == null && builder.mPositiveText == null &&
- !isLongAction(builder.mNeutralText)) {
- padding += builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_button_margin_start);
-
- int actionPadding = builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_button_padding);
- TextView action = new TextView(builder.mContext);
- action.setTextSize(TypedValue.COMPLEX_UNIT_PX, builder.mContext.getResources()
- .getDimensionPixelSize(R.dimen.cafebar_content_text));
- if (builder.getTypeface(CafeBar.FONT_NEUTRAL) != null) {
- action.setTypeface(builder.getTypeface(CafeBar.FONT_CONTENT));
- }
- action.setPadding(actionPadding, 0, actionPadding, 0);
- action.setText(builder.mNeutralText.substring(0,
- builder.mNeutralText.length() > 10 ? 10 : builder.mNeutralText.length()));
-
- int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(metrics.widthPixels, View.MeasureSpec.AT_MOST);
- int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
- action.measure(widthMeasureSpec, heightMeasureSpec);
-
- LogUtil.d("measured action width: " +action.getMeasuredWidth());
- padding += action.getMeasuredWidth();
- }
-
- if (builder.mIcon != null) {
- int icon = builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_icon_size);
- icon += builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_content_padding_top);
- padding += icon;
- }
-
- TextView textView = new TextView(builder.mContext);
- textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, builder.mContext.getResources()
- .getDimension(R.dimen.cafebar_content_text));
- textView.setPadding(padding, 0, 0, 0);
- if (builder.getTypeface(CafeBar.FONT_CONTENT) != null) {
- textView.setTypeface(builder.getTypeface(CafeBar.FONT_CONTENT));
- }
-
- if (builder.mSpannableBuilder != null) {
- textView.setText(builder.mSpannableBuilder, TextView.BufferType.SPANNABLE);
- } else {
- textView.setText(builder.mContent);
- }
-
- int maxWidth = metrics.widthPixels;
- if (builder.mFloating || tabletMode) {
- maxWidth = builder.mContext.getResources().getDimensionPixelSize(R.dimen.cafebar_floating_max_width);
- }
-
- int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(maxWidth, View.MeasureSpec.AT_MOST);
- int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
- textView.measure(widthMeasureSpec, heightMeasureSpec);
- return textView.getLineCount() > 1;
- }
-
- @Nullable
- static Drawable getDrawable(@NonNull Context context, @DrawableRes int res) {
- try {
- Drawable drawable = context.getResources().getDrawable(res);
- return drawable.mutate();
- } catch (OutOfMemoryError e) {
- return null;
- }
- }
-
- @Nullable
- static Drawable toDrawable(@NonNull Context context, @Nullable Bitmap bitmap) {
- try {
- if (bitmap == null) return null;
- return new BitmapDrawable(context.getResources(), bitmap);
- } catch (OutOfMemoryError e) {
- return null;
- }
- }
-
- @Nullable
- private static Drawable getResizedDrawable(@NonNull Context context, @Nullable Drawable drawable,
- int color, boolean tint) {
- try {
- if (drawable == null) {
- LogUtil.d("drawable: null");
- return null;
- }
-
- if (tint) {
- drawable.setColorFilter(color, PorterDuff.Mode.SRC_IN);
- drawable.mutate();
- }
-
- int size = context.getResources().getDimensionPixelSize(R.dimen.cafebar_icon_size);
- Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),
- drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(bitmap);
- drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
- drawable.draw(canvas);
-
- return new BitmapDrawable(context.getResources(),
- Bitmap.createScaledBitmap(bitmap, size, size, true));
- } catch (Exception | OutOfMemoryError e) {
- LogUtil.e(Log.getStackTraceString(e));
- return null;
- }
- }
-
- static int getNavigationBarHeight(@NonNull Context context) {
- Point appUsableSize = getAppUsableScreenSize(context);
- Point realScreenSize = getRealScreenSize(context);
-
- if (appUsableSize.x < realScreenSize.x) {
- Point point = new Point(realScreenSize.x - appUsableSize.x, appUsableSize.y);
- return point.x;
- }
-
- if (appUsableSize.y < realScreenSize.y) {
- Point point = new Point(appUsableSize.x, realScreenSize.y - appUsableSize.y);
- return point.y;
- }
- return 0;
- }
-
- private static Point getAppUsableScreenSize(@NonNull Context context) {
- WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
- Display display = windowManager.getDefaultDisplay();
- Point size = new Point();
- display.getSize(size);
- return size;
- }
-
- private static Point getRealScreenSize(@NonNull Context context) {
- WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
- Display display = windowManager.getDefaultDisplay();
- Point size = new Point();
-
- if (Build.VERSION.SDK_INT >= 17) {
- display.getRealSize(size);
- } else if (Build.VERSION.SDK_INT >= 14) {
- try {
- size.x = (Integer) Display.class.getMethod("getRawWidth").invoke(display);
- size.y = (Integer) Display.class.getMethod("getRawHeight").invoke(display);
- } catch (Exception e) {
- LogUtil.e(Log.getStackTraceString(e));
- }
- }
- return size;
- }
-
- static boolean isLongAction(@Nullable String action) {
- return action != null && action.length() > 10;
- }
-
- static int getAccentColor(Context context, int defaultColor) {
- if (context == null) {
- LogUtil.e("getAccentColor() context is null");
- return defaultColor;
- }
-
- TypedValue typedValue = new TypedValue();
- Resources.Theme theme = context.getTheme();
- theme.resolveAttribute(R.attr.colorAccent, typedValue, true);
- return typedValue.data;
- }
-
- static int getTitleTextColor(@ColorInt int color) {
- double darkness = 1-(0.299*Color.red(color) + 0.587*Color.green(color) + 0.114*Color.blue(color))/255;
- return (darkness < 0.35) ? getDarkerColor(color) : Color.WHITE;
- }
-
- static int getSubTitleTextColor(@ColorInt int color) {
- int titleColor = getTitleTextColor(color);
- int alpha2 = Math.round(Color.alpha(titleColor) * 0.7f);
- int red = Color.red(titleColor);
- int green = Color.green(titleColor);
- int blue = Color.blue(titleColor);
- return Color.argb(alpha2, red, green, blue);
- }
-
- private static int getDarkerColor(@ColorInt int color) {
- float[] hsv = new float[3];
- Color.colorToHSV(color, hsv);
- hsv[2] *= 0.25f;
- return Color.HSVToColor(hsv);
- }
-
- static int getColor(@NonNull Context context, int color) {
- try {
- return ContextCompat.getColor(context, color);
- } catch (Exception e) {
- LogUtil.e(Log.getStackTraceString(e));
- return color;
- }
- }
-
- @Nullable
- static Typeface getTypeface(@NonNull Context context, String fontName) {
- try {
- return Typeface.createFromAsset(context.getAssets(), "fonts/" +fontName);
- } catch (Exception e) {
- LogUtil.e(Log.getStackTraceString(e));
- }
- return null;
- }
-}
diff --git a/cafebar/src/main/java/com/danimahardhika/cafebar/LogUtil.java b/cafebar/src/main/java/com/danimahardhika/cafebar/LogUtil.java
deleted file mode 100644
index 6a0aad64..00000000
--- a/cafebar/src/main/java/com/danimahardhika/cafebar/LogUtil.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.danimahardhika.cafebar;
-
-/*
- * CafeBar
- *
- * Copyright (c) 2017 Dani Mahardhika
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-
-class LogUtil {
-
- static boolean sEnableLogging = false;
-
- private static final String TAG = "CafeBar";
-
- static void d(@NonNull String message) {
- if (LogUtil.sEnableLogging)
- Log.d(TAG, message);
- }
-
- static void e(@NonNull String message) {
- if (LogUtil.sEnableLogging)
- Log.e(TAG, message);
- }
-}
diff --git a/cafebar/src/main/res-public/values/public.xml b/cafebar/src/main/res-public/values/public.xml
deleted file mode 100644
index 4705295e..00000000
--- a/cafebar/src/main/res-public/values/public.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/drawable/cafebar_action_button_selector.xml b/cafebar/src/main/res/drawable/cafebar_action_button_selector.xml
deleted file mode 100644
index ebca92b2..00000000
--- a/cafebar/src/main/res/drawable/cafebar_action_button_selector.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/drawable/cafebar_action_button_selector_dark.xml b/cafebar/src/main/res/drawable/cafebar_action_button_selector_dark.xml
deleted file mode 100644
index 075d3975..00000000
--- a/cafebar/src/main/res/drawable/cafebar_action_button_selector_dark.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/drawable/cafebar_shadow_top.xml b/cafebar/src/main/res/drawable/cafebar_shadow_top.xml
deleted file mode 100644
index eb6c9068..00000000
--- a/cafebar/src/main/res/drawable/cafebar_shadow_top.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/layout/cafebar_action_button.xml b/cafebar/src/main/res/layout/cafebar_action_button.xml
deleted file mode 100644
index 6f21978d..00000000
--- a/cafebar/src/main/res/layout/cafebar_action_button.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/layout/cafebar_action_button_dark.xml b/cafebar/src/main/res/layout/cafebar_action_button_dark.xml
deleted file mode 100644
index 888a548d..00000000
--- a/cafebar/src/main/res/layout/cafebar_action_button_dark.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/values-sw600dp-land/dimens.xml b/cafebar/src/main/res/values-sw600dp-land/dimens.xml
deleted file mode 100644
index 5799a6b2..00000000
--- a/cafebar/src/main/res/values-sw600dp-land/dimens.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
- 288dp
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/values-sw600dp/bools.xml b/cafebar/src/main/res/values-sw600dp/bools.xml
deleted file mode 100644
index c203d3be..00000000
--- a/cafebar/src/main/res/values-sw600dp/bools.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
- true
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/values-sw600dp/dimens.xml b/cafebar/src/main/res/values-sw600dp/dimens.xml
deleted file mode 100644
index a9a49daf..00000000
--- a/cafebar/src/main/res/values-sw600dp/dimens.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- 48dp
-
-
- 188dp
- 568dp
- 24dp
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/values/bools.xml b/cafebar/src/main/res/values/bools.xml
deleted file mode 100644
index 944cf2a0..00000000
--- a/cafebar/src/main/res/values/bools.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
- false
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/values/colors.xml b/cafebar/src/main/res/values/colors.xml
deleted file mode 100644
index eac88795..00000000
--- a/cafebar/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
- #44000000
- #44FFFFFF
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/values/dimens.xml b/cafebar/src/main/res/values/dimens.xml
deleted file mode 100644
index 6082bac0..00000000
--- a/cafebar/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- 24dp
-
- 24dp
- 14dp
-
- 24dp
- 10dp
- 8dp
-
- 4dp
- 14sp
-
-
- 108dp
- 368dp
- 16dp
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/values/ids.xml b/cafebar/src/main/res/values/ids.xml
deleted file mode 100644
index c5bb9f24..00000000
--- a/cafebar/src/main/res/values/ids.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cafebar/src/main/res/values/styles.xml b/cafebar/src/main/res/values/styles.xml
deleted file mode 100644
index 2d8c8ae4..00000000
--- a/cafebar/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index ef628913..955021f9 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -3,7 +3,7 @@ include ':wear'
include ':codegen'
include ':annotation'
rootProject.name='Szkolny.eu'
-include ':app', ':agendacalendarview', ':mhttp', ':cafebar', ':szkolny-font', ':nachos'
+include ':app', ':agendacalendarview', ':mhttp', ':szkolny-font', ':nachos'
/*
include ':Navigation'
project(':Navigation').projectDir = new File(settingsDir, '../Navigation/navlib')*/