Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/pr/11'
Browse files Browse the repository at this point in the history
Conflicts:
	.gitignore
	.idea/.name
	.idea/misc.xml
	.idea/modules.xml
	app/build.gradle
	app/src/main/java/uk/me/lewisdeane/ldialogs/CustomDialog.java
  • Loading branch information
StephaneBg committed Sep 4, 2014
2 parents 7add5d1 + 314183d commit 70b148c
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 24 deletions.
32 changes: 28 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,31 @@
.gradle
/local.properties
/.idea/workspace.xml
# Built application files
/*/build/
# Built application files
build/

# Crashlytics configuations
com_crashlytics_export_strings.xml

# Local configuration file (sdk path, etc)
local.properties

# Gradle generated files
.gradle/

# Signing files
.signing/
gradle.properties

# User-specific configurations
.idea/*
*.iml

# OS-specific files
.DS_Store
/build
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db/build
*.iml
.idea
60 changes: 50 additions & 10 deletions app/src/main/java/uk/me/lewisdeane/ldialogs/CustomDialog.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package uk.me.lewisdeane.ldialogs;

import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
Expand Down Expand Up @@ -46,7 +45,7 @@ public class CustomDialog extends BaseDialog {
private Theme mTheme = Theme.LIGHT;

// String containing the hex colours to be used on the views.
private String mPositiveColour = "", mNegativeColour = "", mTitleColour = "", mContentColour = "";
private int mPositiveColour = 0, mNegativeColour = 0, mTitleColour = 0, mContentColour = 0;

// Alignment for title to use
private Alignment mTitleAlignment = Alignment.LEFT;
Expand Down Expand Up @@ -201,10 +200,10 @@ private int getIndexFromView(View _view) {

private void applyTheme() {
// Apply the correct colours based on theme and user preference.
((TextView) mViews[0]).setTextColor(Color.parseColor(this.mTitleColour.length() > 0 ? mTitleColour : (mTheme == Theme.LIGHT ? LightColours.TITLE.mColour : DarkColours.TITLE.mColour)));
((TextView) mViews[1]).setTextColor(Color.parseColor(this.mContentColour.length() > 0 ? mContentColour : (mTheme == Theme.LIGHT ? LightColours.CONTENT.mColour : DarkColours.CONTENT.mColour)));
((Button) mViews[2]).setTextColor(Color.parseColor(this.mPositiveColour.length() > 0 ? mPositiveColour : (mTheme == Theme.LIGHT ? LightColours.BUTTON.mColour : DarkColours.BUTTON.mColour)));
((Button) mViews[3]).setTextColor(Color.parseColor(this.mNegativeColour.length() > 0 ? mNegativeColour : (mTheme == Theme.LIGHT ? LightColours.BUTTON.mColour : DarkColours.BUTTON.mColour)));
((TextView)mViews[0]).setTextColor(this.mTitleColour != 0 ? mTitleColour : (mTheme == Theme.LIGHT ? Color.parseColor(LightColours.TITLE.mColour) : Color.parseColor(DarkColours.TITLE.mColour)));
((TextView)mViews[1]).setTextColor(this.mContentColour != 0 ? mContentColour : (mTheme == Theme.LIGHT ? Color.parseColor(LightColours.CONTENT.mColour) : Color.parseColor(DarkColours.CONTENT.mColour)));
((Button)mViews[2]).setTextColor(this.mPositiveColour != 0 ? mPositiveColour : (mTheme == Theme.LIGHT ? Color.parseColor(LightColours.BUTTON.mColour) : Color.parseColor(DarkColours.BUTTON.mColour)));
((Button)mViews[3]).setTextColor(this.mNegativeColour != 0 ? mNegativeColour : (mTheme == Theme.LIGHT ? Color.parseColor(LightColours.BUTTON.mColour) : Color.parseColor(DarkColours.BUTTON.mColour)));
}

public CustomDialog setClickListener(ClickListener mCallbacks) {
Expand Down Expand Up @@ -252,7 +251,8 @@ public Builder(Context _context, int _titleResId, int _positiveTextResId) {
}

// Optional parameters initialised by default.
private String mNegativeText = "", mPositiveColour = "", mNegativeColour = "", mTitleColour = "", mContentColour = "", mContent = "";
private String mNegativeText = "", mContent = "";
int mPositiveColour = 0, mNegativeColour = 0, mTitleColour = 0, mContentColour = 0;
private boolean mDarkTheme = false;
private Alignment mTitleAlignment = Alignment.LEFT;

Expand All @@ -272,25 +272,65 @@ public Builder negativeText(int _negativeTextResId) {
}

public Builder positiveColor(String _positiveColour) {
this.mPositiveColour = Color.parseColor(_positiveColour);
return this;
}

public Builder negativeColor(String _negativeColour){
this.mNegativeColour = Color.parseColor(_negativeColour);
return this;
}

public Builder titleColor(String _colour){
this.mTitleColour = Color.parseColor(_colour);
return this;
}

public Builder contentColor(String _colour){
this.mContentColour = Color.parseColor(_colour);
return this;
}

public Builder positiveColor(int _positiveColour) {
this.mPositiveColour = _positiveColour;
return this;
}

public Builder negativeColor(String _negativeColour) {
public Builder negativeColor(int _negativeColour){
this.mNegativeColour = _negativeColour;
return this;
}

public Builder titleColor(String _colour) {
public Builder titleColor(int _colour){
this.mTitleColour = _colour;
return this;
}

public Builder contentColor(String _colour) {
public Builder contentColor(int _colour){
this.mContentColour = _colour;
return this;
}

public Builder positiveColorRes(int _positiveColour) {
this.mPositiveColour = mContext.getResources().getColor(_positiveColour);
return this;
}

public Builder negativeColorRes(int _negativeColour){
this.mNegativeColour = mContext.getResources().getColor(_negativeColour);
return this;
}

public Builder titleColorRes(int _colour){
this.mTitleColour = mContext.getResources().getColor(_colour);
return this;
}

public Builder contentColorRes(int _colour){
this.mContentColour = mContext.getResources().getColor(_colour);
return this;
}

public Builder darkTheme(boolean _isDark) {
this.mDarkTheme = _isDark;
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public View getView(final int position, View convertView, ViewGroup parent) {
mItemView.setTypeface(CustomListDialog.mTypeface);

try {
mItemView.setTextColor(Color.parseColor(CustomListDialog.mItemColour));
mItemView.setTextColor(CustomListDialog.mItemColour);
} catch(Exception e){}

return v;
Expand Down
39 changes: 30 additions & 9 deletions app/src/main/java/uk/me/lewisdeane/ldialogs/CustomListDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import android.content.Context;
import android.graphics.Color;
import android.graphics.Typeface;
import android.support.annotation.ColorRes;
import android.view.ContextThemeWrapper;
import android.view.Gravity;
import android.view.LayoutInflater;
Expand All @@ -25,11 +26,11 @@ public class CustomListDialog extends BaseDialog {
// Array of string containing the items for the list.
private String[] mItems;

// String containing hex colour of title.
private String mTitleColour = "";
// Colour of title.
private int mTitleColour = 0;

// String containing hex colour of items.
public static String mItemColour = "";
// Colour of items.
public static int mItemColour = 0;

// Alignment containing where to align the title
private Alignment mTitleAlignment = Alignment.LEFT;
Expand Down Expand Up @@ -69,8 +70,8 @@ private CustomListDialog(Builder _builder) {
this.mTheme = _builder.mIsDark ? Theme.DARK : Theme.LIGHT;
this.mTitle = _builder.mTitle;
this.mItems = _builder.mItems;
this.mTitleColour = _builder.mTitleColour.length() > 0 ? _builder.mTitleColour : (this.mTheme == Theme.DARK ? DarkColours.TITLE.mColour : LightColours.TITLE.mColour);
this.mItemColour = _builder.mItemColour.length() > 0 ? _builder.mItemColour : (this.mTheme == Theme.DARK ? DarkColours.ITEM.mColour : LightColours.ITEM.mColour);
this.mTitleColour = _builder.mTitleColour != 0 ? _builder.mTitleColour : (this.mTheme == Theme.DARK ? Color.parseColor(DarkColours.TITLE.mColour) : Color.parseColor(LightColours.TITLE.mColour));
this.mItemColour = _builder.mItemColour != 0 ? _builder.mItemColour : (this.mTheme == Theme.DARK ? Color.parseColor(DarkColours.ITEM.mColour) : Color.parseColor(LightColours.ITEM.mColour));
this.mTitleAlignment = _builder.mTitleAlignment;
this.mItemAlignment = _builder.mItemAlignment;

Expand Down Expand Up @@ -123,7 +124,7 @@ private CustomListDialog setTitleProperties() {
// Apply correct properties if title view is available
if (mTitleView != null) {
mTitleView.setText(this.mTitle);
mTitleView.setTextColor(Color.parseColor(this.mTitleColour));
mTitleView.setTextColor(this.mTitleColour);
mTitleView.setTypeface(this.mTypeface);
mTitleView.setGravity(getGravityFromAlignment(this.mTitleAlignment) | Gravity.CENTER_VERTICAL);
}
Expand Down Expand Up @@ -162,7 +163,7 @@ public Builder(Context _context, int _titleResId, int _itemsResId) {

// Optional parameters initialised with default values.
private Alignment mTitleAlignment = Alignment.LEFT, mItemAlignment = Alignment.LEFT;
private String mTitleColour = "", mItemColour = "";
private int mTitleColour = 0, mItemColour = 0;
private boolean mIsDark = false;

public Builder titleAlignment(Alignment _alignment) {
Expand All @@ -176,15 +177,35 @@ public Builder itemAlignment(Alignment _alignment) {
}

public Builder titleColour(String _colour) {
this.mTitleColour = _colour;
this.mTitleColour = Color.parseColor(_colour);
return this;
}

public Builder itemColour(String _colour) {
this.mItemColour = Color.parseColor(_colour);
return this;
}

public Builder titleColour(int _colour) {
this.mTitleColour = _colour;
return this;
}

public Builder itemColour(int _colour) {
this.mItemColour = _colour;
return this;
}

public Builder titleColourRes(@ColorRes int _colour) {
this.mTitleColour = mContext.getResources().getColor(_colour);
return this;
}

public Builder itemColourRes(@ColorRes int _colour) {
this.mItemColour = mContext.getResources().getColor(_colour);
return this;
}

public Builder darkTheme(boolean _isDark) {
this.mIsDark = _isDark;
return this;
Expand Down

0 comments on commit 70b148c

Please sign in to comment.