pull/335/head
okjack 2 years ago
parent ad0f27ebc9
commit ebf8d94595
  1. 5
      app/src/leanback/java/com/fongmi/android/tv/bean/Func.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  3. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/FuncPresenter.java
  4. 29
      app/src/main/java/com/fongmi/android/tv/utils/ViewUtil.java

@ -1,10 +1,11 @@
package com.fongmi.android.tv.bean;
import android.annotation.SuppressLint;
import android.os.Build;
import android.view.View;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.ViewUtil;
public class Func {
@ -20,7 +21,7 @@ public class Func {
public Func(int resId) {
this.resId = resId;
this.id = ViewUtil.generateViewId();
this.id = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 ? View.generateViewId() : -1;
this.setDrawable();
}

@ -341,7 +341,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
@Override
public void onItemClick(Func item) {
switch (item.getResId()) {
case R.string.home_history:
case R.string.home_history_short:
HistoryActivity.start(this);
break;
case R.string.home_vod:

@ -30,7 +30,7 @@ public class FuncPresenter extends Presenter {
public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object object) {
Func item = (Func) object;
ViewHolder holder = (ViewHolder) viewHolder;
holder.binding.getRoot().setId(item.getId());
if (item.getId() > 0) holder.binding.getRoot().setId(item.getId());
holder.binding.text.setText(item.getText());
holder.binding.icon.setImageResource(item.getDrawable());
if (item.getNextFocusLeft() > 0) holder.binding.getRoot().setNextFocusLeftId(item.getNextFocusLeft());

@ -1,29 +0,0 @@
package com.fongmi.android.tv.utils;
import android.os.Build;
import android.view.View;
import java.util.concurrent.atomic.AtomicInteger;
public class ViewUtil {
private static final AtomicInteger viewIdGenerator = new AtomicInteger(15000000);
public static int generateViewId() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) return View.generateViewId();
else return generateUniqueViewId();
}
private static int generateUniqueViewId() {
while (true) {
final int result = viewIdGenerator.get();
// aapt-generated IDs have the high byte nonzero; clamp to the range under that.
int newValue = result + 1;
if (newValue > 0x00FFFFFF) newValue = 1; // Roll over to 1, not 0.
if (viewIdGenerator.compareAndSet(result, newValue)) {
return result;
}
}
}
}
Loading…
Cancel
Save