summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/base/views
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/base/views')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/base/views/ActionBarTitle.java14
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/base/views/MainButton.java13
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/base/views/ProgressSpinner.java63
3 files changed, 88 insertions, 2 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/views/ActionBarTitle.java b/app/src/main/java/se/leap/bitmaskclient/base/views/ActionBarTitle.java
index a151305e..3aa21ae9 100644
--- a/app/src/main/java/se/leap/bitmaskclient/base/views/ActionBarTitle.java
+++ b/app/src/main/java/se/leap/bitmaskclient/base/views/ActionBarTitle.java
@@ -1,10 +1,11 @@
package se.leap.bitmaskclient.base.views;
import android.content.Context;
+import android.graphics.Typeface;
+import android.os.Build;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.LayoutInflater;
-import android.widget.RelativeLayout;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
@@ -90,7 +91,16 @@ public class ActionBarTitle extends LinearLayoutCompat {
actionBarTitle.setLayoutParams(titleLayoutParams);
actionBarSubtitle.setLayoutParams(subtitleLayoutParams);
container.setLayoutParams(containerLayoutParams);
+ }
-
+ public void setSingleBoldTitle() {
+ showSubtitle(false);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+ actionBarTitle.setTypeface(Typeface.create(null,900,false));
+ } else {
+ actionBarTitle.setTypeface(actionBarTitle.getTypeface(), Typeface.BOLD);
+ }
+ actionBarTitle.setLetterSpacing(0.05f);
+ actionBarTitle.setTextSize(24f);
}
}
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/views/MainButton.java b/app/src/main/java/se/leap/bitmaskclient/base/views/MainButton.java
index c7273613..e322e6c6 100644
--- a/app/src/main/java/se/leap/bitmaskclient/base/views/MainButton.java
+++ b/app/src/main/java/se/leap/bitmaskclient/base/views/MainButton.java
@@ -2,10 +2,13 @@ package se.leap.bitmaskclient.base.views;
import android.annotation.TargetApi;
import android.content.Context;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.RelativeLayout;
+import androidx.annotation.DrawableRes;
import androidx.appcompat.widget.AppCompatImageView;
import androidx.core.content.ContextCompat;
@@ -56,4 +59,14 @@ public class MainButton extends RelativeLayout {
button.setTag(isOn ? "button_circle_stop" : "button_circle_start");
}
}
+
+ public void setCustomDrawable(@DrawableRes int drawableResource) {
+ Drawable drawable = ContextCompat.getDrawable(getContext(), drawableResource);
+ if (drawable == null) {
+ return;
+ }
+
+ button.setImageDrawable(drawable);
+ button.setTag("button_setup_circle_custom");
+ }
}
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/views/ProgressSpinner.java b/app/src/main/java/se/leap/bitmaskclient/base/views/ProgressSpinner.java
new file mode 100644
index 00000000..380ddf23
--- /dev/null
+++ b/app/src/main/java/se/leap/bitmaskclient/base/views/ProgressSpinner.java
@@ -0,0 +1,63 @@
+package se.leap.bitmaskclient.base.views;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.widget.RelativeLayout;
+
+import androidx.appcompat.widget.AppCompatImageView;
+import androidx.appcompat.widget.AppCompatTextView;
+import androidx.core.content.ContextCompat;
+
+import se.leap.bitmaskclient.R;
+import se.leap.bitmaskclient.databinding.VProgressSpinnerBinding;
+
+public class ProgressSpinner extends RelativeLayout {
+
+ private static final String TAG = ProgressSpinner.class.getSimpleName();
+
+ AppCompatImageView spinnerView;
+ AppCompatTextView textView;
+
+ public ProgressSpinner(Context context) {
+ super(context);
+ initLayout(context);
+ }
+
+ public ProgressSpinner(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ initLayout(context);
+ }
+
+ public ProgressSpinner(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ initLayout(context);
+ }
+
+
+ public ProgressSpinner(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ initLayout(context);
+ }
+
+ private void initLayout(Context context) {
+ VProgressSpinnerBinding binding = VProgressSpinnerBinding.inflate(LayoutInflater.from(context), this, true);
+ spinnerView = binding.spinnerView;
+ textView = binding.tvProgress;
+ }
+
+ public void update(int progress) {
+ String text = "";
+ if (progress > 0) {
+ if ((progress / 10) == 0) {
+ text = text + " ";
+ }
+ if ((progress / 100) == 0) {
+ text = text + " ";
+ }
+ text = text + progress + "%";
+ }
+ textView.setText(text);
+ }
+}