diff --git a/app/src/main/java/org/fdroid/fdroid/views/LiveSeekBarPreference.java b/app/src/main/java/org/fdroid/fdroid/views/LiveSeekBarPreference.java
index f1fda57f7..067a904ff 100644
--- a/app/src/main/java/org/fdroid/fdroid/views/LiveSeekBarPreference.java
+++ b/app/src/main/java/org/fdroid/fdroid/views/LiveSeekBarPreference.java
@@ -37,7 +37,7 @@ public class LiveSeekBarPreference extends SeekBarPreference {
public void onBindViewHolder(final PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
- SeekBar seekbar = holder.itemView.findViewById(R.id.seekbar);
+ SeekBarForegroundThumb seekbar = holder.itemView.findViewById(R.id.seekbar);
seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
diff --git a/app/src/main/java/org/fdroid/fdroid/views/SeekBarForegroundThumb.java b/app/src/main/java/org/fdroid/fdroid/views/SeekBarForegroundThumb.java
new file mode 100644
index 000000000..012e9a2c9
--- /dev/null
+++ b/app/src/main/java/org/fdroid/fdroid/views/SeekBarForegroundThumb.java
@@ -0,0 +1,85 @@
+package org.fdroid.fdroid.views;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.drawable.Drawable;
+import android.os.Build;
+import android.support.v7.widget.AppCompatSeekBar;
+import android.util.AttributeSet;
+import org.fdroid.fdroid.R;
+
+/**
+ * SeekBar that does not show the TickMark above the thumb
+ * Based on https://stackoverflow.com/a/47727128
+ */
+public class SeekBarForegroundThumb extends AppCompatSeekBar {
+ private Drawable mTickMark;
+ private Context context;
+
+ public SeekBarForegroundThumb(Context context) {
+ super(context);
+ init(context);
+ }
+
+ public SeekBarForegroundThumb(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init(context);
+ }
+
+ public SeekBarForegroundThumb(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ init(context);
+ }
+
+ private void init(Context context) {
+ this.context = context;
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ mTickMark = context.getDrawable(R.drawable.seekbar_tickmark);
+ } else {
+ mTickMark = context.getResources().getDrawable(R.drawable.seekbar_tickmark);
+ }
+ }
+
+ private Drawable getThumbCompat() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ return getThumb();
+ } else {
+ return context.getResources().getDrawable(R.drawable.seekbar_thumb);
+ }
+ }
+
+ @Override
+ protected synchronized void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+ drawTickMarks(canvas);
+ }
+
+ @Override
+ public int getThumbOffset() {
+ return super.getThumbOffset();
+ }
+
+ private void drawTickMarks(Canvas canvas) {
+ if (mTickMark != null) {
+ final int count = getMax();
+ if (count > 1) {
+ final int w = mTickMark.getIntrinsicWidth();
+ final int h = mTickMark.getIntrinsicHeight();
+ final int halfThumbW = getThumbCompat().getIntrinsicWidth() / 2;
+ final int halfW = w >= 0 ? w / 2 : 1;
+ final int halfH = h >= 0 ? h / 2 : 1;
+ mTickMark.setBounds(-halfW, -halfH, halfW, halfH);
+ final float spacing = (getWidth() - getPaddingLeft() - getPaddingRight() + getThumbOffset() * 2 - halfThumbW * 2) / (float) count;
+ final int saveCount = canvas.save();
+ canvas.translate(getPaddingLeft() - getThumbOffset() + halfThumbW, getHeight() / 2);
+ for (int i = 0; i <= count; i++) {
+ if(i!=getProgress())
+ mTickMark.draw(canvas);
+ canvas.translate(spacing, 0);
+ }
+ canvas.restoreToCount(saveCount);
+ }
+ }
+ }
+}
diff --git a/app/src/main/res/drawable/seekbar_fill.9.png b/app/src/main/res/drawable/seekbar_fill.9.png
deleted file mode 100644
index 3d7427c0b..000000000
Binary files a/app/src/main/res/drawable/seekbar_fill.9.png and /dev/null differ
diff --git a/app/src/main/res/drawable/seekbar_progress.xml b/app/src/main/res/drawable/seekbar_progress.xml
deleted file mode 100644
index 72c15e8c5..000000000
--- a/app/src/main/res/drawable/seekbar_progress.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- -
-
-
- -
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/seekbar_tickmark.xml b/app/src/main/res/drawable/seekbar_tickmark.xml
index 7c11d874e..cae711ded 100644
--- a/app/src/main/res/drawable/seekbar_tickmark.xml
+++ b/app/src/main/res/drawable/seekbar_tickmark.xml
@@ -2,10 +2,10 @@
-
-
+
+ android:width="6dp"
+ android:height="6dp"/>
\ No newline at end of file
diff --git a/app/src/main/res/layout/preference_seekbar.xml b/app/src/main/res/layout/preference_seekbar.xml
index 06356ad03..b3b91d9a9 100644
--- a/app/src/main/res/layout/preference_seekbar.xml
+++ b/app/src/main/res/layout/preference_seekbar.xml
@@ -39,14 +39,14 @@
android:visibility="gone"
android:textSize="0sp"/>
-
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 5f5980f83..ba1d52dce 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -319,6 +319,6 @@