diff --git a/app/src/leanback/java/com/fongmi/android/tv/bean/Func.java b/app/src/leanback/java/com/fongmi/android/tv/bean/Func.java index 3a187dfbe..4fbedeba9 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/bean/Func.java +++ b/app/src/leanback/java/com/fongmi/android/tv/bean/Func.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(); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java index 1be613d03..c99309841 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java @@ -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: diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/FuncPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/FuncPresenter.java index e8a2d44a2..777f99820 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/FuncPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/FuncPresenter.java @@ -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()); diff --git a/app/src/main/java/com/fongmi/android/tv/utils/ViewUtil.java b/app/src/main/java/com/fongmi/android/tv/utils/ViewUtil.java deleted file mode 100644 index 9c4ddeb5a..000000000 --- a/app/src/main/java/com/fongmi/android/tv/utils/ViewUtil.java +++ /dev/null @@ -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; - } - } - } - -}