Skip to content

Commit 5198a64

Browse files
committed
Bugfixes
1 parent a54e3c5 commit 5198a64

9 files changed

Lines changed: 104 additions & 17 deletions

File tree

app/src/main/java/tk/phili/dienst/dienst/report/ReportFragment.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,6 +646,9 @@ public void updateSummary() {
646646
goalState.isHasGoal() ? goalView.getHeight() + mlp.topMargin : 0,
647647
reportsRecycler.getPaddingRight(),
648648
reportsRecycler.getPaddingBottom());
649+
if(goalState.isHasGoal()) {
650+
reportsRecycler.scrollBy(0, -(goalView.getHeight() + mlp.topMargin));
651+
}
649652
/*Utils.setMargins(reportsRecycler,
650653
0, goalState.isHasGoal() ? Utils.dpToPx(16) : 0, 0, 0);*/
651654
});
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package tk.phili.dienst.dienst.utils;
2+
3+
import android.content.Context;
4+
import android.graphics.Canvas;
5+
import android.graphics.Path;
6+
import android.graphics.RectF;
7+
import android.util.AttributeSet;
8+
9+
import androidx.annotation.NonNull;
10+
11+
import com.google.android.material.card.MaterialCardView;
12+
import com.google.android.material.shape.ShapeAppearanceModel;
13+
import com.google.android.material.shape.ShapeAppearancePathProvider;
14+
15+
public class MaskedMaterialCardView extends MaterialCardView {
16+
private ShapeAppearancePathProvider pathProvider = new ShapeAppearancePathProvider();
17+
private Path path = new Path();
18+
private RectF rectF = new RectF(0f, 0f, 0f, 0f);
19+
20+
public MaskedMaterialCardView(Context context) {
21+
super(context);
22+
}
23+
24+
public MaskedMaterialCardView(Context context, AttributeSet attrs) {
25+
super(context, attrs);
26+
}
27+
28+
public MaskedMaterialCardView(Context context, AttributeSet attrs, int defStyleAttr) {
29+
super(context, attrs, defStyleAttr);
30+
}
31+
32+
@Override
33+
protected void onDraw(Canvas canvas) {
34+
canvas.clipPath(path);
35+
super.onDraw(canvas);
36+
}
37+
38+
@Override
39+
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
40+
recalculatePath();
41+
super.onSizeChanged(w, h, oldw, oldh);
42+
}
43+
44+
public void recalculatePath() {
45+
rectF.right = (float) getWidth();
46+
rectF.bottom = (float) getHeight();
47+
pathProvider.calculatePath(getShapeAppearanceModel(), 1f, rectF, path);
48+
}
49+
50+
@Override
51+
public void setShapeAppearanceModel(@NonNull ShapeAppearanceModel shapeAppearanceModel) {
52+
super.setShapeAppearanceModel(shapeAppearanceModel);
53+
recalculatePath();
54+
}
55+
}

app/src/main/java/tk/phili/dienst/dienst/videos/VideoAdapter.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,19 @@
1414
import com.bumptech.glide.load.engine.DiskCacheStrategy;
1515
import com.downloader.internal.DownloadRequestQueue;
1616
import com.downloader.request.DownloadRequest;
17+
import com.google.android.material.card.MaterialCardView;
1718
import com.google.android.material.progressindicator.LinearProgressIndicator;
19+
import com.google.android.material.shape.ShapeAppearanceModel;
1820

1921
import java.lang.reflect.Field;
2022
import java.util.List;
2123
import java.util.Map;
2224

2325
import tk.phili.dienst.dienst.R;
26+
import tk.phili.dienst.dienst.report.Report;
2427
import tk.phili.dienst.dienst.utils.JWLang;
2528
import tk.phili.dienst.dienst.utils.JWLanguageService;
29+
import tk.phili.dienst.dienst.utils.Utils;
2630

2731
/**
2832
* Created by fipsi on 04.03.2018.
@@ -88,8 +92,25 @@ private boolean containsDifferentLanguages() {
8892
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder _holder, int position) {
8993
if (_holder instanceof CategoryViewHolder) {
9094
CategoryViewHolder holder = (CategoryViewHolder) _holder;
95+
//holder.setIsRecyclable(false);
9196
JWVideoCategory category = (JWVideoCategory) items.get(position);
9297

98+
ShapeAppearanceModel.Builder shapeBuilder = new ShapeAppearanceModel.Builder()
99+
.setAllCornerSizes(Utils.dpToPx(32));
100+
int connectingCornersSize = Utils.dpToPx(16);
101+
102+
if(items.size() > 1) {
103+
if (position != items.size() -1) {
104+
shapeBuilder.setBottomRightCornerSize(connectingCornersSize);
105+
shapeBuilder.setBottomLeftCornerSize(connectingCornersSize);
106+
}
107+
if(position != 0) {
108+
shapeBuilder.setTopRightCornerSize(connectingCornersSize);
109+
shapeBuilder.setTopLeftCornerSize(connectingCornersSize);
110+
}
111+
}
112+
holder.mainView.setShapeAppearanceModel(shapeBuilder.build());
113+
93114
holder.title.setText(category.getName());
94115
if (category.getImages() != null
95116
&& category.getImages().getPnr() != null
@@ -201,12 +222,12 @@ public VideoViewHolder(View itemView) {
201222
public static class CategoryViewHolder extends RecyclerView.ViewHolder {
202223
public ImageView image;
203224
public TextView title;
204-
public View mainView;
225+
public MaterialCardView mainView;
205226

206227

207228
public CategoryViewHolder(View itemView) {
208229
super(itemView);
209-
mainView = itemView;
230+
mainView = (MaterialCardView) itemView;
210231
title = itemView.findViewById(R.id.category_title);
211232
image = itemView.findViewById(R.id.category_background);
212233
}

app/src/main/java/tk/phili/dienst/dienst/videos/VideoFragment.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,9 @@ private void showCategory(String category) {
140140
VideoAdapter videoAdapter = new VideoAdapter(requireContext(), new ArrayList<>(), new VideoAdapter.SelectionCallback() {
141141
@Override
142142
public void onVideoSelected(JWVideo video, VideoAdapter adapter) {
143+
if(video.getFile(requireContext()).exists()) {
144+
return;
145+
}
143146
new MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialogCenterStyle)
144147
.setTitle(requireContext().getString(R.string.download_quality))
145148
.setIcon(R.drawable.ic_baseline_cloud_download_24)
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
<vector android:height="24dp" android:tint="#FFFFFF"
2-
android:viewportHeight="24" android:viewportWidth="24"
3-
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
4-
<path android:fillColor="@android:color/white" android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96zM17,13l-5,5 -5,-5h3V9h4v4h3z"/>
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="960"
5+
android:viewportHeight="960"
6+
android:tint="?attr/colorControlNormal">
7+
<path
8+
android:fillColor="@android:color/white"
9+
android:pathData="M440,486L440,244Q364,258 322,317.5Q280,377 280,440L260,440Q202,440 161,481Q120,522 120,580Q120,638 161,679Q202,720 260,720L740,720Q782,720 811,691Q840,662 840,620Q840,578 811,549Q782,520 740,520L680,520L680,440Q680,392 658,350.5Q636,309 600,280L600,187Q674,222 717,290.5Q760,359 760,440L760,440L760,440Q829,448 874.5,499.5Q920,551 920,620Q920,695 867.5,747.5Q815,800 740,800L260,800Q169,800 104.5,737Q40,674 40,583Q40,505 87,444Q134,383 210,366Q227,294 295,229Q363,164 440,164Q473,164 496.5,187.5Q520,211 520,244L520,486L556,451Q567,440 583.5,440Q600,440 612,452Q623,463 623,480Q623,497 612,508L508,612Q496,624 480,624Q464,624 452,612L348,508Q337,497 336.5,480.5Q336,464 348,452Q359,441 375.5,440.5Q392,440 404,451L440,486ZM480,442Q480,442 480,442Q480,442 480,442L480,442Q480,442 480,442Q480,442 480,442L480,442Q480,442 480,442Q480,442 480,442L480,442Q480,442 480,442Q480,442 480,442Q480,442 480,442Q480,442 480,442L480,442Q480,442 480,442Q480,442 480,442Q480,442 480,442Q480,442 480,442L480,442L480,442Q480,442 480,442Q480,442 480,442Z"/>
510
</vector>

app/src/main/res/layout/report_item.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
android:transitionName="bericht_add_frame">
99

1010

11-
<com.google.android.material.card.MaterialCardView
11+
<tk.phili.dienst.dienst.utils.MaskedMaterialCardView
1212
style="@style/Widget.Material3.CardView.Filled"
1313
android:id="@+id/card_view"
1414
android:layout_width="match_parent"
@@ -235,6 +235,6 @@
235235

236236
</LinearLayout>
237237

238-
</com.google.android.material.card.MaterialCardView>
238+
</tk.phili.dienst.dienst.utils.MaskedMaterialCardView>
239239

240240
</RelativeLayout>

app/src/main/res/layout/report_item_timer.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
android:layout_width="wrap_content"
66
android:layout_height="wrap_content">
77

8-
<com.google.android.material.card.MaterialCardView
8+
<tk.phili.dienst.dienst.utils.MaskedMaterialCardView
99
style="@style/Widget.Material3.CardView.Filled"
1010
android:id="@+id/card_view"
1111
android:layout_width="match_parent"
@@ -123,6 +123,6 @@
123123
app:iconTint="#ffffff"/>
124124

125125
</androidx.constraintlayout.widget.ConstraintLayout>
126-
</com.google.android.material.card.MaterialCardView>
126+
</tk.phili.dienst.dienst.utils.MaskedMaterialCardView>
127127

128128
</RelativeLayout>

app/src/main/res/layout/report_item_tiny.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
android:layout_height="wrap_content">
77

88

9-
<com.google.android.material.card.MaterialCardView
9+
<tk.phili.dienst.dienst.utils.MaskedMaterialCardView
1010
style="@style/Widget.Material3.CardView.Filled"
1111
android:id="@+id/card_view"
1212
android:layout_width="match_parent"
@@ -244,6 +244,6 @@
244244

245245
</LinearLayout>
246246

247-
</com.google.android.material.card.MaterialCardView>
247+
</tk.phili.dienst.dienst.utils.MaskedMaterialCardView>
248248

249249
</RelativeLayout>

app/src/main/res/layout/video_category_item.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
2+
<tk.phili.dienst.dienst.utils.MaskedMaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools"
4+
xmlns:app="http://schemas.android.com/apk/res-auto"
5+
style="@style/Widget.Material3.CardView.Filled"
46
android:layout_width="match_parent"
57
android:layout_height="100dp"
6-
xmlns:app="http://schemas.android.com/apk/res-auto"
78
android:layout_marginStart="8dp"
89
android:layout_marginTop="4dp"
910
android:layout_marginEnd="8dp"
1011
android:layout_marginBottom="4dp"
11-
android:orientation="horizontal"
1212
android:clickable="true"
1313
android:focusable="true"
1414
app:cardCornerRadius="12dp"
15-
app:cardBackgroundColor="?attr/colorSurfaceContainer"
15+
app:cardBackgroundColor="?attr/colorSurfaceDim"
1616
android:clipToPadding="false">
1717

1818
<androidx.constraintlayout.widget.ConstraintLayout
@@ -39,4 +39,4 @@
3939
</androidx.constraintlayout.widget.ConstraintLayout>
4040

4141

42-
</androidx.cardview.widget.CardView>
42+
</tk.phili.dienst.dienst.utils.MaskedMaterialCardView>

0 commit comments

Comments
 (0)