Skip to content

Commit

Permalink
Add other fritzbox devices to compatability list
Browse files Browse the repository at this point in the history
  • Loading branch information
Philipp0002 committed Feb 4, 2025
1 parent 9471d0d commit e851e4b
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package de.hahnphilipp.watchwithfritzbox.player;

import android.content.Context;
import android.graphics.PointF;
import android.net.Uri;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
Expand All @@ -11,6 +15,8 @@
import androidx.cardview.widget.CardView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.LinearSmoothScroller;
import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.Glide;
Expand Down Expand Up @@ -171,6 +177,51 @@ public ChannelInfoViewHolder(View itemView) {
}
}

public void scrollToPositionCentered(int position) {
RecyclerView.SmoothScroller smoothScroller = new CenterSmoothScroller(recyclerView.getContext());
smoothScroller.setTargetPosition(position);
recyclerView.getLayoutManager().startSmoothScroll(smoothScroller);
}

public class CenterSmoothScroller extends LinearSmoothScroller {
public CenterSmoothScroller(Context context) {
super(context);
}

public float getSlowness() {
return 400f;
}

@Override
protected int getVerticalSnapPreference() {
return SNAP_TO_START;
}

@Override
public PointF computeScrollVectorForPosition(int targetPosition) {
return ((LinearLayoutManager) getLayoutManager()).computeScrollVectorForPosition(targetPosition);
}

@Override
protected void onTargetFound(View targetView, RecyclerView.State state, Action action) {
int itemHeight = targetView.getHeight();
int screenHeight = recyclerView.getHeight();
int dy = (targetView.getTop() - (screenHeight / 2)) + (itemHeight / 2);
action.update(0, dy, calculateTimeForScrolling(Math.abs(dy)), mDecelerateInterpolator);
}
@Override
protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
float slowness = getSlowness();
Log.d("TVChannelListOverlay", "Speed: " + slowness);
return slowness / displayMetrics.densityDpi;
}

@Override
protected int calculateTimeForScrolling(int dx) {
return super.calculateTimeForScrolling(dx) / 2; // Beschleunigt das Scrolling
}
}


}

Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,10 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
boolean supportedFritzBox = false;
NodeList friendlyNames = doc.getElementsByTagName("friendlyName");
for (int i = 0; i < friendlyNames.getLength(); i++) {
if (friendlyNames.item(i).getTextContent().toLowerCase().contains("cable")) {
if (friendlyNames.item(i).getTextContent().toLowerCase().contains("cable") ||
friendlyNames.item(i).getTextContent().toLowerCase().contains("dvbc") ||
friendlyNames.item(i).getTextContent().toLowerCase().contains("dvb-c")
) {
supportedFritzBox = true;
break;
}
Expand Down

0 comments on commit e851e4b

Please sign in to comment.