Skip to content

Commit

Permalink
Added custom view to core
Browse files Browse the repository at this point in the history
  • Loading branch information
Matty3Run committed Jan 24, 2017
1 parent 8343338 commit 0a9c042
Show file tree
Hide file tree
Showing 18 changed files with 118 additions and 23 deletions.
1 change: 1 addition & 0 deletions androidbase-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,6 @@ dependencies {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
testCompile 'junit:junit:4.12'
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package com.mr_apps.androidbasecore.custom_views;

import android.content.Context;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.support.design.widget.TextInputLayout;
import android.support.graphics.drawable.VectorDrawableCompat;
import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;
import android.widget.EditText;

import com.mr_apps.androidbasecore.R;

/**
* Custom view used to create a TextInputLayout that displays a red warning drawable instead of the red text below the edit text
*
* @author Mattia Ruggiero
*/
public class WarningTextInputLayout extends TextInputLayout {

boolean isErrorEnabled = false;

public WarningTextInputLayout(Context context) {
super(context);
}

public WarningTextInputLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public void setErrorEnabled(boolean enabled) {
EditText edit = getEditText();
if (edit != null) {
if (enabled) {
edit.getBackground().setColorFilter(ContextCompat.getColor(getContext(), R.color.errorRed), PorterDuff.Mode.SRC_ATOP);
setHintTextAppearance(R.style.HintErrorStyle);
Drawable warning = Build.VERSION.SDK_INT >= 21 ? ContextCompat.getDrawable(getContext(), R.drawable.ic_warning_24dp) : VectorDrawableCompat.create(getContext().getResources(), R.drawable.ic_warning_24dp, null);
if (warning != null)
warning.setColorFilter(ContextCompat.getColor(getContext(), R.color.errorRed), PorterDuff.Mode.SRC_ATOP);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
edit.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, warning, null);
else
edit.setCompoundDrawablesWithIntrinsicBounds(null, null, warning, null);

} else {
if (Build.VERSION.SDK_INT >= 21) {
edit.getBackground().clearColorFilter();
} else {
edit.getBackground().setColorFilter(ContextCompat.getColor(getContext(), R.color.colorAccent), PorterDuff.Mode.SRC_ATOP);
}
setHintTextAppearance(R.style.HintStyle);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
edit.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, null, null);
else
edit.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
}
isErrorEnabled = enabled;
}
}

@Override
public boolean isErrorEnabled() {
return isErrorEnabled;
}

@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
setErrorEnabled(false);
}
}
9 changes: 9 additions & 0 deletions androidbase-core/src/main/res/drawable/ic_warning_24dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z"/>
</vector>
2 changes: 2 additions & 0 deletions androidbase-core/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@
<color name="colorPrimaryDark">#912b35</color>
<color name="colorAccent">#ae3742</color>

<color name="errorRed">#D32F2F</color>

</resources>
10 changes: 10 additions & 0 deletions androidbase-core/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="HintStyle" parent="TextAppearance.Design.Hint" />

<style name="HintErrorStyle" parent="HintStyle">
<item name="android:textColor">@color/errorRed</item>
</style>

</resources>
4 changes: 2 additions & 2 deletions androidbase/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,6 @@ dependencies {
compile 'com.github.chrisbanes:PhotoView:1.2.6'
compile 'com.facebook.android:facebook-android-sdk:4.10.0'
compile 'com.viewpagerindicator:library:2.4.1'
compile 'com.github.MrAPPs-RSM.MrAppsAndroidBase:androidbase-core:1.0.51'
compile 'com.github.MrAPPs-RSM.MrAppsAndroidBase:androidbase-utils:1.0.51'
compile 'com.github.MrAPPs-RSM.MrAppsAndroidBase:androidbase-core:1.0.52'
compile 'com.github.MrAPPs-RSM.MrAppsAndroidBase:androidbase-utils:1.0.52'
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@
import com.mr_apps.androidbase.R;
import com.mr_apps.androidbase.activity.AbstractBaseActivity;
import com.mr_apps.androidbase.custom_views.WarningTextInputLayout;
import com.mr_apps.androidbaseutils.utils.DrawableUtils;
import com.mr_apps.androidbaseutils.utils.Logger;
import com.mr_apps.androidbaseutils.utils.Utils;
import com.mr_apps.androidbaseutils.DrawableUtils;
import com.mr_apps.androidbaseutils.Logger;
import com.mr_apps.androidbaseutils.Utils;

import org.json.JSONObject;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
import com.mr_apps.androidbase.R;
import com.mr_apps.androidbase.activity.AbstractBaseActivity;
import com.mr_apps.androidbase.custom_views.WarningTextInputLayout;
import com.mr_apps.androidbaseutils.utils.DrawableUtils;
import com.mr_apps.androidbaseutils.utils.TextViewUtils;
import com.mr_apps.androidbaseutils.DrawableUtils;
import com.mr_apps.androidbaseutils.TextViewUtils;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
import android.view.View;

import com.mr_apps.androidbase.R;
import com.mr_apps.androidbaseutils.utils.CustomDialog;
import com.mr_apps.androidbaseutils.utils.Utils;
import com.mr_apps.androidbaseutils.CustomDialog;
import com.mr_apps.androidbaseutils.Utils;

/**
* Class that manages a standard sign up element of the registration form
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import com.loopj.android.http.TextHttpResponseHandler;
import com.mr_apps.androidbase.R;
import com.mr_apps.androidbase.preferences.GlobalPreferences;
import com.mr_apps.androidbaseutils.utils.Logger;
import com.mr_apps.androidbaseutils.Logger;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
import android.support.v7.app.AlertDialog;

import com.mr_apps.androidbase.R;
import com.mr_apps.androidbaseutils.utils.BitmapUtils;
import com.mr_apps.androidbaseutils.utils.FileUtils;
import com.mr_apps.androidbaseutils.utils.FileUtils.ElementType;
import com.mr_apps.androidbaseutils.BitmapUtils;
import com.mr_apps.androidbaseutils.FileUtils;
import com.mr_apps.androidbaseutils.FileUtils.ElementType;

import java.io.File;
import java.util.ArrayList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import com.bumptech.glide.BitmapTypeRequest;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.BitmapImageViewTarget;
import com.mr_apps.androidbaseutils.utils.BitmapUtils;
import com.mr_apps.androidbaseutils.BitmapUtils;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import android.widget.RelativeLayout;

import com.mr_apps.androidbase.R;
import com.mr_apps.androidbaseutils.utils.DrawableUtils;
import com.mr_apps.androidbaseutils.DrawableUtils;
import com.viewpagerindicator.CirclePageIndicator;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import android.widget.TextView;

import com.mr_apps.androidbase.R;
import com.mr_apps.androidbaseutils.utils.Utils;
import com.mr_apps.androidbaseutils.Utils;

/**
* CLass that manages a fragment of the tutorial
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
import com.loopj.android.http.ResponseHandlerInterface;
import com.loopj.android.http.TextHttpResponseHandler;
import com.mr_apps.androidbase.preferences.SecurityPreferences;
import com.mr_apps.androidbaseutils.utils.Logger;
import com.mr_apps.androidbaseutils.utils.Utils;
import com.mr_apps.androidbaseutils.Logger;
import com.mr_apps.androidbaseutils.Utils;

import java.io.UnsupportedEncodingException;
import java.nio.channels.NotYetConnectedException;
Expand Down
2 changes: 1 addition & 1 deletion androidbase/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<resources>

<color name="lightGrey">#999999</color>
<color name="errorRed">#D32F2F</color>
<color name="errorRed">#D32F2F</color> <!-- TOGLIERE -->
<color name="googleSignIn">#DC4A39</color>
<color name="googleSignIn_pressed">#C64233</color>

Expand Down
4 changes: 2 additions & 2 deletions androidbase/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,10 @@
<item name="android:background">?attr/selectableItemBackgroundBorderless</item>
</style>

<style name="HintStyle" parent="TextAppearance.Design.Hint" />
<style name="HintStyle" parent="TextAppearance.Design.Hint" /> <!-- TOGLIERE -->

<style name="HintErrorStyle" parent="HintStyle">
<item name="android:textColor">@color/errorRed</item>
<item name="android:textColor">@color/errorRed</item> <!-- TOGLIERE -->
</style>

<style name="SkipButton" parent="Widget.AppCompat.Button.Borderless">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
import com.mr_apps.androidbase.activity.AbstractBaseActivity;
import com.mr_apps.androidbase.activity.CreditsActivity;
import com.mr_apps.androidbase.gallery.GalleryActivity;
import com.mr_apps.androidbaseutils.utils.BitmapUtils;
import com.mr_apps.androidbaseutils.utils.FileUtils;
import com.mr_apps.androidbaseutils.BitmapUtils;
import com.mr_apps.androidbaseutils.FileUtils;

import java.util.ArrayList;

Expand Down

0 comments on commit 0a9c042

Please sign in to comment.