diff --git a/app/build.gradle b/app/build.gradle index deaa846..e20f605 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,7 +5,7 @@ android { buildToolsVersion "26.0.1" defaultConfig { applicationId "ch.pizzalink.android" - minSdkVersion 15 + minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName "1.0" diff --git a/app/src/main/java/ch/pizzalink/android/activity/SplashActivity.java b/app/src/main/java/ch/pizzalink/android/activity/SplashActivity.java index 31966f5..30a3eef 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/SplashActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/SplashActivity.java @@ -1,9 +1,14 @@ package ch.pizzalink.android.activity; +import android.annotation.TargetApi; import android.content.Intent; +import android.os.Build; import android.os.Bundle; import android.os.Handler; +import android.support.v4.content.ContextCompat; import android.util.Log; +import android.view.Window; +import android.view.WindowManager; import java.util.ArrayList; @@ -12,6 +17,7 @@ import ch.pizzalink.android.R; import ch.pizzalink.android.api.ApiErrorUtils; import ch.pizzalink.android.api.ApiService; import ch.pizzalink.android.helper.DialogHelper; +import ch.pizzalink.android.helper.DisplayHelper; import ch.pizzalink.android.helper.NetworkHelper; import ch.pizzalink.android.helper.SessionHelper; import ch.pizzalink.android.helper.SharedPrefsHelper; @@ -28,6 +34,7 @@ public class SplashActivity extends BaseActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); ButterKnife.bind(this); + DisplayHelper.changeStatusColor(); if(NetworkHelper.isNetworkAvailable()) getCategoryList(); else @@ -73,7 +80,8 @@ public class SplashActivity extends BaseActivity { handler.postDelayed(new Runnable() { @Override public void run() { - startActivity(new Intent(SplashActivity.this, cls)); + //startActivity(new Intent(SplashActivity.this, cls)); + startActivity(new Intent(SplashActivity.this, RegisterActivity.class)); finish(); } }, 1000); @@ -107,4 +115,6 @@ public class SplashActivity extends BaseActivity { } + + } diff --git a/app/src/main/java/ch/pizzalink/android/helper/DisplayHelper.java b/app/src/main/java/ch/pizzalink/android/helper/DisplayHelper.java index 16df6fe..f8b96e4 100644 --- a/app/src/main/java/ch/pizzalink/android/helper/DisplayHelper.java +++ b/app/src/main/java/ch/pizzalink/android/helper/DisplayHelper.java @@ -1,6 +1,13 @@ package ch.pizzalink.android.helper; +import android.annotation.TargetApi; +import android.os.Build; +import android.support.v4.content.ContextCompat; import android.util.DisplayMetrics; +import android.view.Window; +import android.view.WindowManager; + +import ch.pizzalink.android.R; import ch.pizzalink.android.activity.BaseActivity; public class DisplayHelper { @@ -19,4 +26,14 @@ public class DisplayHelper { DisplayMetrics displayMetrics = BaseActivity.currentActivity.getResources().getDisplayMetrics(); return Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public static void changeStatusColor() { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) + return; + Window window = BaseActivity.currentActivity.getWindow(); + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + window.setStatusBarColor(ContextCompat.getColor(BaseActivity.currentActivity, R.color.black)); + } } diff --git a/app/src/main/java/ch/pizzalink/android/view/OvalEdittext.java b/app/src/main/java/ch/pizzalink/android/view/OvalEdittext.java deleted file mode 100644 index 6cb1695..0000000 --- a/app/src/main/java/ch/pizzalink/android/view/OvalEdittext.java +++ /dev/null @@ -1,8 +0,0 @@ -package ch.pizzalink.android.view; - -/** - * Created by cimenmus on 12/09/2017. - */ - -public class OvalEdittext { -} diff --git a/app/src/main/java/ch/pizzalink/android/view/PizzalinkButton.java b/app/src/main/java/ch/pizzalink/android/view/PizzalinkButton.java new file mode 100644 index 0000000..b7aaaaf --- /dev/null +++ b/app/src/main/java/ch/pizzalink/android/view/PizzalinkButton.java @@ -0,0 +1,67 @@ +package ch.pizzalink.android.view; + +import android.content.Context; +import android.content.res.TypedArray; +import android.support.v4.content.ContextCompat; +import android.util.AttributeSet; +import android.view.View; +import android.widget.Button; +import android.widget.RelativeLayout; + +import ch.pizzalink.android.R; + +/** + * Created by cimenmus on 28/09/2017. + */ + +public class PizzalinkButton extends RelativeLayout { + + private View rootView; + private boolean isEnabled; + private Button pizzalinkButton; + private String text; + + public PizzalinkButton(Context context) { + super(context); + init(context); + } + + public PizzalinkButton(Context context, AttributeSet attrs) { + super(context, attrs); + TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.PizzalinkButton, 0, 0); + try { + isEnabled = a.getBoolean(R.styleable.PizzalinkButton_isEnabled, true); + text = a.getString(R.styleable.PizzalinkButton_text); + } finally { + a.recycle(); + } + init(context); + } + + private void init(Context context){ + rootView = inflate(context, R.layout.layout_pizzalink_button, this); + pizzalinkButton = (Button) rootView.findViewById(R.id.pizzalinkButton); + pizzalinkButton.setText(text); + setButtonAppearance(context); + } + + public void setEnabled(Context context, boolean isEnabled){ + this.isEnabled = isEnabled; + setButtonAppearance(context); + } + + public void setOnClickListenrer(OnClickListener onClickListenrer){ + rootView.setOnClickListener(onClickListenrer); + } + + private void setButtonAppearance(Context context){ + if(isEnabled){ + pizzalinkButton.setBackground(ContextCompat.getDrawable(context, R.drawable.background_button_enabled)); + pizzalinkButton.setTextColor(ContextCompat.getColor(context, R.color.colorPrimary)); + }else { + pizzalinkButton.setBackground(ContextCompat.getDrawable(context, R.drawable.background_button_disabled)); + pizzalinkButton.setTextColor(ContextCompat.getColor(context, R.color.venus)); + } + } + +} diff --git a/app/src/main/java/ch/pizzalink/android/view/PizzalinkEditText.java b/app/src/main/java/ch/pizzalink/android/view/PizzalinkEditText.java new file mode 100644 index 0000000..823ecbf --- /dev/null +++ b/app/src/main/java/ch/pizzalink/android/view/PizzalinkEditText.java @@ -0,0 +1,125 @@ +package ch.pizzalink.android.view; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Typeface; +import android.support.v4.content.ContextCompat; +import android.text.InputType; +import android.util.AttributeSet; +import android.view.View; +import android.view.inputmethod.InputMethodManager; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import ch.pizzalink.android.R; +import ch.pizzalink.android.activity.BaseActivity; + +/** + * Created by cimenmus on 28/09/2017. + */ + +public class PizzalinkEditText extends LinearLayout implements View.OnClickListener { + + private View rootView; + private TextView hintTextView; + private EditText editText; + private boolean isPasswordHidden = true; + private Typeface typeFace; + private String hint; + private String inputType; + + /* + public PizzalinkEditText(LinearLayout rootView, boolean isLeftIconVisible, int leftIconId, + int editTextHintId, int inputType, boolean isPasswordIconVisible){ + + initViews(rootView); + setLeftIcon(isLeftIconVisible, leftIconId); + setPasswordIcon(isPasswordIconVisible); + setEditTextt(editTextHintId, inputType); + } + */ + + public PizzalinkEditText(Context context) { + super(context); + init(context); + } + + public PizzalinkEditText(Context context, AttributeSet attrs) { + super(context, attrs); + TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.PizzalinkEditText, 0, 0); + try { + hint = a.getString(R.styleable.PizzalinkEditText_hint); + inputType = a.getString(R.styleable.PizzalinkEditText_inputType); + } finally { + a.recycle(); + } + init(context); + } + + private void init(Context context) { + rootView = inflate(context, R.layout.layout_pizzalink_edittext, this); + hintTextView = (TextView) rootView.findViewById(R.id.hintTextView); + editText = (EditText) rootView.findViewById(R.id.editText); + hintTextView.setText(hint); + setInputType(); + rootView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + focusEditText(); + } + }); + } + + private void setInputType(){ + if (inputType == null) + inputType = "text"; + switch (inputType){ + case "password": + editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); + break; + case "phone": + editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_CLASS_PHONE); + break; + case "email": + editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); + break; + default: + editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_CLASS_TEXT); + break; + } + } + + + @Override + public void onClick(View v) { + hideShowPassword(); + } + + private void hideShowPassword(){ + + if(isPasswordHidden) + editText.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); + else + editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); + + isPasswordHidden = !isPasswordHidden; + editText.setTypeface(typeFace); + } + + private void focusEditText(){ + + editText.requestFocus(); + InputMethodManager inputMethodManager=(InputMethodManager)BaseActivity.currentActivity.getSystemService(Context.INPUT_METHOD_SERVICE); + inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); + } + + public TextView getHintTextView() { + return hintTextView; + } + + public EditText getEditText() { + return editText; + } +} \ No newline at end of file diff --git a/app/src/main/java/ch/pizzalink/android/view/PizzalinkToolbar.java b/app/src/main/java/ch/pizzalink/android/view/PizzalinkToolbar.java index 7538670..8d3fb3f 100644 --- a/app/src/main/java/ch/pizzalink/android/view/PizzalinkToolbar.java +++ b/app/src/main/java/ch/pizzalink/android/view/PizzalinkToolbar.java @@ -2,6 +2,7 @@ package ch.pizzalink.android.view; import android.content.Context; import android.content.res.TypedArray; +import android.graphics.Color; import android.support.v4.content.ContextCompat; import android.support.v7.widget.Toolbar; import android.util.AttributeSet; @@ -18,11 +19,12 @@ import ch.pizzalink.android.activity.BaseActivity; public class PizzalinkToolbar extends Toolbar { - private View rootView;; + private View rootView; private TextView toolbarTitleTextView; private ImageView hamburgerIcon; private boolean showHamburgerIcon; private String title; + private int toolbarBackgroundColor, titleTextColor; /* public PizzalinkToolbar(Toolbar toolbar){ @@ -43,6 +45,13 @@ public class PizzalinkToolbar extends Toolbar { try { showHamburgerIcon = a.getBoolean(R.styleable.PizzalinkToolbar_showHamburgerMenuIcon, false); title = a.getString(R.styleable.PizzalinkToolbar_title); + /* + toolbarBackgroundColor = a.getColor(R.styleable.PizzalinkToolbar_toolbarBackgroundColor, + ContextCompat.getColor(BaseActivity.currentActivity, R.color.colorPrimary)); + titleTextColor = a.getColor(R.styleable.PizzalinkToolbar_toolbarTitleTextColor, + ContextCompat.getColor(BaseActivity.currentActivity, R.color.white)); + */ + } finally { a.recycle(); } @@ -54,6 +63,8 @@ public class PizzalinkToolbar extends Toolbar { this.setPadding(0, 0, 0, 0); this.setContentInsetsAbsolute(0, 0); toolbarTitleTextView = (TextView) rootView.findViewById(R.id.toolbarTitleTextView); + //this.setBackgroundResource(toolbarBackgroundColor); + //toolbarTitleTextView.setTextColor(titleTextColor); hamburgerIcon = (ImageView) rootView.findViewById(R.id.hamburgerIcon); if(showHamburgerIcon) hamburgerIcon.setVisibility(VISIBLE); diff --git a/app/src/main/res/drawable/background_button_disabled.xml b/app/src/main/res/drawable/background_button_disabled.xml new file mode 100644 index 0000000..a4d1ffe --- /dev/null +++ b/app/src/main/res/drawable/background_button_disabled.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/background_button_enabled.xml b/app/src/main/res/drawable/background_button_enabled.xml new file mode 100644 index 0000000..342d005 --- /dev/null +++ b/app/src/main/res/drawable/background_button_enabled.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/pizzalink_logo.png b/app/src/main/res/drawable/pizzalink_logo.png new file mode 100644 index 0000000..b995f6d Binary files /dev/null and b/app/src/main/res/drawable/pizzalink_logo.png differ diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index f33024e..c59e4a7 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -1,9 +1,16 @@ - - + + + + + diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml index 0a24473..8d64756 100644 --- a/app/src/main/res/layout/activity_register.xml +++ b/app/src/main/res/layout/activity_register.xml @@ -1,9 +1,116 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml index a58e5ab..bb7bc34 100644 --- a/app/src/main/res/layout/activity_splash.xml +++ b/app/src/main/res/layout/activity_splash.xml @@ -1,18 +1,21 @@ - + tools:context="ch.pizzalink.android.activity.SplashActivity" + android:background="@color/black"> - + android:layout_margin="48dp" + android:src="@drawable/pizzalink_logo"/> - + diff --git a/app/src/main/res/layout/layout_pizzalink_button.xml b/app/src/main/res/layout/layout_pizzalink_button.xml new file mode 100644 index 0000000..b00a0f8 --- /dev/null +++ b/app/src/main/res/layout/layout_pizzalink_button.xml @@ -0,0 +1,20 @@ + + + +