Merge pull request #323 from okcaptain/dev

Dev
pull/325/head
okcaptain 2 years ago committed by GitHub
commit e5bf3e456f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HistoryActivity.java
  2. 34
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  3. 19
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingCustomActivity.java
  4. 22
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java
  5. 38
      app/src/leanback/res/layout/activity_setting_custom.xml
  6. 16
      app/src/main/java/com/fongmi/android/tv/Setting.java
  7. 2
      app/src/main/java/com/fongmi/android/tv/bean/Site.java
  8. 2
      app/src/main/java/com/fongmi/android/tv/utils/ViewUtil.java
  9. 6
      app/src/main/res/values-zh-rCN/strings.xml
  10. 6
      app/src/main/res/values-zh-rTW/strings.xml
  11. 6
      app/src/main/res/values/strings.xml
  12. 15
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingCustomFragment.java
  13. 8
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  14. 54
      app/src/mobile/res/layout/fragment_setting_custom.xml
  15. 18
      app/src/mobile/res/layout/fragment_vod.xml
  16. 5
      app/src/mobile/res/values-zh-rCN/strings.xml
  17. 5
      app/src/mobile/res/values-zh-rTW/strings.xml
  18. 5
      app/src/mobile/res/values/strings.xml

@ -8,12 +8,14 @@ import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.Product;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.bean.History;
import com.fongmi.android.tv.databinding.ActivityHistoryBinding;
import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.ui.adapter.HistoryAdapter;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@ -53,6 +55,7 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl
}
private void getHistory() {
mBinding.delete.setFocusable(false);
mAdapter.addAll(History.get());
App.post(() -> {
mBinding.delete.setVisibility(mAdapter.getItemCount() > 0 ? View.VISIBLE : View.GONE);
@ -63,7 +66,7 @@ public class HistoryActivity extends BaseActivity implements HistoryAdapter.OnCl
private void onDelete(View view) {
if (mAdapter.isDelete()) {
mAdapter.clear();
new MaterialAlertDialogBuilder(this).setTitle(R.string.dialog_delete_record).setMessage(R.string.dialog_delete_history).setNegativeButton(R.string.dialog_negative, null).setPositiveButton(R.string.dialog_positive, (dialog, which) -> mAdapter.clear()).show();
} else if (mAdapter.getItemCount() > 0) {
mAdapter.setDelete(true);
} else {

@ -79,7 +79,6 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
private boolean confirm;
private Result mResult;
private Clock mClock;
private int recommend;
private Site getHome() {
return VodConfig.get().getHome();
@ -138,7 +137,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
private void setTitleView() {
mBinding.homeSiteLock.setVisibility(Setting.isHomeSiteLock() ? View.VISIBLE : View.GONE);
mBinding.settingVodHistory.setVisibility(Setting.isHomeSiteLock() ? View.GONE : View.VISIBLE);
mBinding.settingVodHistory.setVisibility(Setting.isHomeSiteLock() || !Setting.isHomeChangeConfig() ? View.GONE : View.VISIBLE);
}
private void setRecyclerView() {
@ -162,11 +161,9 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
private void setAdapter() {
mAdapter.add(getFuncRow());
int homeRecommend = Setting.getHomeRecommend();
if (homeRecommend == 0) mAdapter.add(R.string.home_history);
if (homeRecommend == 1) mAdapter.add(R.string.home_recommend);
if (homeRecommend == 0) mHistoryAdapter = new ArrayObjectAdapter(mPresenter = new HistoryPresenter(this));
recommend = homeRecommend;
mAdapter.add(R.string.home_history);
mAdapter.add(R.string.home_recommend);
mHistoryAdapter = new ArrayObjectAdapter(mPresenter = new HistoryPresenter(this));
}
private void onSettingVodHistory(View view) {
@ -253,14 +250,13 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
int index = getRecommendIndex();
String title = getHome().getName();
mBinding.title.setText(title.isEmpty() ? ResUtil.getString(R.string.app_name) : title);
if (mAdapter.size() > index && index > -1) mAdapter.removeItems(index, mAdapter.size() - index);
if (mAdapter.size() > index) mAdapter.removeItems(index, mAdapter.size() - index);
if (getHome().getKey().isEmpty()) return;
mViewModel.homeContent();
if (Setting.getHomeRecommend() == 1) mAdapter.add("progress");
mAdapter.add("progress");
}
private void addVideo(Result result) {
if (Setting.getHomeRecommend() == 0) return;
Style style = result.getStyle(getHome().getStyle());
for (List<Vod> items : Lists.partition(result.getList(), Product.getColumn(style))) {
ArrayObjectAdapter adapter = new ArrayObjectAdapter(new VodPresenter(this, style));
@ -276,7 +272,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
adapter.add(Func.create(R.string.home_search));
adapter.add(Func.create(R.string.home_keep));
adapter.add(Func.create(R.string.home_push));
if (Setting.getHomeRecommend() == 1) adapter.add(Func.create(R.string.home_history));
adapter.add(Func.create(R.string.home_history));
adapter.add(Func.create(R.string.home_setting));
((Func) adapter.get(0)).setNextFocusLeft(((Func) adapter.get(adapter.size() - 1)).getId());
((Func) adapter.get(adapter.size() - 1)).setNextFocusRight(((Func) adapter.get(0)).getId());
@ -288,13 +284,13 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
}
private void getHistory(boolean renew) {
if (Setting.getHomeRecommend() == 1) return;
List<History> items = History.get();
int historyIndex = getHistoryIndex();
int totalSize = mAdapter.size();
int recommendIndex = getRecommendIndex();
boolean exist = recommendIndex - historyIndex == 2;
if (renew) mHistoryAdapter = new ArrayObjectAdapter(mPresenter = new HistoryPresenter(this));
if (renew) mAdapter.removeItems(historyIndex, 1);
if (totalSize == historyIndex || renew) mAdapter.add(historyIndex, new ListRow(mHistoryAdapter));
if ((items.isEmpty() && exist) || (renew && exist)) mAdapter.removeItems(historyIndex, 1);
if ((items.size() > 0 && !exist) || (renew && exist)) mAdapter.add(historyIndex, new ListRow(mHistoryAdapter));
mHistoryAdapter.setItems(items, null);
}
@ -486,14 +482,6 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
super.onResume();
mClock.start();
setTitleView();
reloadHomeRecommend();
}
private void reloadHomeRecommend() {
if (recommend == Setting.getHomeRecommend()) return;
mAdapter.clear();
setAdapter();
initConfig();
}
@Override

@ -23,7 +23,6 @@ public class SettingCustomActivity extends BaseActivity {
private String[] episode;
private String[] fullscreenMenuKey;
private String[] smallWindowBackKey;
private String[] homeRecommend;
@Override
protected ViewBinding getBinding() {
@ -53,7 +52,8 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.homeSiteLockText.setText(getSwitch(Setting.isHomeSiteLock()));
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));
mBinding.smallWindowBackKeyText.setText((smallWindowBackKey = ResUtil.getStringArray(R.array.select_small_window_back_key))[Setting.getSmallWindowBackKey()]);
mBinding.homeRecommonedText.setText((homeRecommend = ResUtil.getStringArray(R.array.select_home_recommend))[Setting.getHomeRecommend()]);
mBinding.homeChangeConfigText.setText(getSwitch(Setting.isHomeChangeConfig()));
mBinding.aggregatedSearchText.setText(getSwitch(Setting.isAggregatedSearch()));
}
@Override
@ -71,7 +71,8 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.homeSiteLock.setOnClickListener(this::setHomeSiteLock);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.smallWindowBackKey.setOnClickListener(this::setSmallWindowBackKey);
mBinding.homeRecommoned.setOnClickListener(this::setHomeRecommend);
mBinding.homeChangeConfig.setOnClickListener(this::setHomeChangeConfig);
mBinding.aggregatedSearch.setOnClickListener(this::setAggregatedSearch);
}
private void setQuality(View view) {
@ -154,10 +155,14 @@ public class SettingCustomActivity extends BaseActivity {
mBinding.smallWindowBackKeyText.setText(smallWindowBackKey[index]);
}
private void setHomeRecommend(View view) {
int index = Setting.getHomeRecommend();
Setting.putHomeRecommend(index = index == homeRecommend.length - 1 ? 0 : ++index);
mBinding.homeRecommonedText.setText(homeRecommend[index]);
private void setHomeChangeConfig(View view) {
Setting.putHomeChangeConfig(!Setting.isHomeChangeConfig());
mBinding.homeChangeConfigText.setText(getSwitch(Setting.isHomeChangeConfig()));
}
private void setAggregatedSearch(View view) {
Setting.putAggregatedSearch(!Setting.isAggregatedSearch());
mBinding.aggregatedSearchText.setText(getSwitch(Setting.isAggregatedSearch()));
}
}

@ -12,10 +12,15 @@ import androidx.appcompat.widget.AppCompatTextView;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.bean.Site;
import com.fongmi.android.tv.impl.SiteCallback;
import com.fongmi.android.tv.utils.KeyUtil;
import com.fongmi.android.tv.utils.ResUtil;
import java.util.List;
public class CustomTitleView extends AppCompatTextView {
private Listener listener;
@ -37,7 +42,8 @@ public class CustomTitleView extends AppCompatTextView {
}
private boolean hasEvent(KeyEvent event) {
return KeyUtil.isEnterKey(event) || (KeyUtil.isUpKey(event) && !coolDown);
if (Setting.isHomeChangeConfig()) return KeyUtil.isEnterKey(event) || (KeyUtil.isUpKey(event) && !coolDown);
return KeyUtil.isEnterKey(event) || KeyUtil.isLeftKey(event) || KeyUtil.isRightKey(event) || (KeyUtil.isUpKey(event) && !coolDown);
}
@Override
@ -49,6 +55,8 @@ public class CustomTitleView extends AppCompatTextView {
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (Setting.isHomeSiteLock()) return false;
if (VodConfig.get().getSites().isEmpty()) return false;
if (hasEvent(event)) return onKeyDown(event);
else return super.dispatchKeyEvent(event);
}
@ -56,6 +64,10 @@ public class CustomTitleView extends AppCompatTextView {
private boolean onKeyDown(KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP && KeyUtil.isEnterKey(event)) {
listener.showDialog();
} else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isLeftKey(event)) {
listener.setSite(getSite(true));
} else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isRightKey(event)) {
listener.setSite(getSite(false));
} else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isUpKey(event)) {
onKeyUp();
}
@ -68,6 +80,14 @@ public class CustomTitleView extends AppCompatTextView {
coolDown = true;
}
private Site getSite(boolean next) {
List<Site> items = VodConfig.get().getSites();
int position = VodConfig.getHomeIndex();
if (next) position = position > 0 ? --position : items.size() - 1;
else position = position < items.size() - 1 ? ++position : 0;
return items.get(position);
}
public interface Listener extends SiteCallback {
void showDialog();

@ -420,9 +420,10 @@
android:orientation="horizontal">
<LinearLayout
android:id="@+id/homeRecommoned"
android:id="@+id/homeChangeConfig"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:background="@drawable/selector_item"
android:focusable="true"
@ -433,18 +434,47 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_home_recommend"
android:text="@string/setting_home_change_config"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/homeRecommonedText"
android:id="@+id/homeChangeConfigText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="歷史" />
tools:text="开" />
</LinearLayout>
<LinearLayout
android:id="@+id/aggregatedSearch"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_item"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_aggregated_search"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/aggregatedSearchText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="開" />
</LinearLayout>

@ -413,12 +413,20 @@ public class Setting {
return Prefers.getInt("small_window_back_key", 0);
}
public static void putHomeRecommend(int recommend) {
Prefers.put("home_recommend", recommend);
public static void putHomeChangeConfig(boolean change) {
Prefers.put("home_change_config", change);
}
public static int getHomeRecommend() {
return Prefers.getInt("home_recommend", 0);
public static boolean isHomeChangeConfig() {
return Prefers.getBoolean("home_change_config", false);
}
public static boolean isAggregatedSearch() {
return Prefers.getBoolean("aggregated_search", false);
}
public static void putAggregatedSearch(boolean search) {
Prefers.put("aggregated_search", search);
}
}

@ -11,6 +11,7 @@ import androidx.room.PrimaryKey;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.Constant;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.db.AppDatabase;
import com.fongmi.android.tv.gson.ExtAdapter;
import com.github.catvod.utils.Json;
@ -194,6 +195,7 @@ public class Site implements Parcelable {
}
public Integer getIndexs() {
if (Setting.isAggregatedSearch() && (indexs == null || indexs == 1)) return 1;
return indexs == null ? 0 : indexs;
}

@ -7,7 +7,7 @@ import java.util.concurrent.atomic.AtomicInteger;
public class ViewUtil {
private static final AtomicInteger viewIdGenerator = new AtomicInteger(1);
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();

@ -76,11 +76,12 @@
<string name="setting_custom">个性设置</string>
<string name="setting_quality">图片品质</string>
<string name="setting_size">图片尺寸</string>
<string name="setting_aggregated_search">聚合搜索</string>
<string name="setting_fullscreen_menu_key">全屏菜单键</string>
<string name="setting_home_site_lock">首页源锁定</string>
<string name="setting_incognito">无痕模式</string>
<string name="setting_small_window_back_key">小窗返回键</string>
<string name="setting_home_recommend">首页推荐位</string>
<string name="setting_home_change_config">首页换线</string>
<string name="setting_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">缓存</string>
@ -125,6 +126,9 @@
<string name="dialog_config_hint">请输入接口…</string>
<string name="dialog_config_name">请输入名称…</string>
<string name="dialog_config_url">请输入地址…</string>
<string name="dialog_delete_record">删除全部纪录?</string>
<string name="dialog_delete_keep">收藏纪录将会全部删除。</string>
<string name="dialog_delete_history">观看纪录将会全部删除。</string>
<!-- Error -->
<string name="error_config_get">配置取得失败</string>

@ -76,11 +76,12 @@
<string name="setting_custom">個性設定</string>
<string name="setting_quality">圖片品質</string>
<string name="setting_size">圖片尺寸</string>
<string name="setting_aggregated_search">聚合搜索</string>
<string name="setting_fullscreen_menu_key">全屏選單鍵</string>
<string name="setting_home_site_lock">首頁源鎖定</string>
<string name="setting_incognito">無痕模式</string>
<string name="setting_small_window_back_key">小窗返回鍵</string>
<string name="setting_home_recommend">首页推薦位</string>
<string name="setting_home_change_config">首页換線</string>
<string name="setting_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">暫存</string>
@ -125,6 +126,9 @@
<string name="dialog_config_hint">請輸入接口…</string>
<string name="dialog_config_name">請輸入名稱…</string>
<string name="dialog_config_url">請輸入網址…</string>
<string name="dialog_delete_record">刪除全部紀錄?</string>
<string name="dialog_delete_keep">收藏紀錄將會全部刪除。</string>
<string name="dialog_delete_history">觀看紀錄將會全部刪除。</string>
<!-- Error -->
<string name="error_config_get">配置取得失敗</string>

@ -76,11 +76,12 @@
<string name="setting_custom">Custom setting</string>
<string name="setting_quality">Image quality</string>
<string name="setting_size">Image size</string>
<string name="setting_aggregated_search">Aggregated search</string>
<string name="setting_fullscreen_menu_key">Fullscreen menu key</string>
<string name="setting_home_site_lock">Home site lock</string>
<string name="setting_incognito">Incognito mode</string>
<string name="setting_small_window_back_key">Small window back key</string>
<string name="setting_home_recommend">Home recommend</string>
<string name="setting_home_change_config">Home change config</string>
<string name="setting_doh">DoH</string>
<string name="setting_proxy">Proxy</string>
<string name="setting_cache">Cache</string>
@ -125,6 +126,9 @@
<string name="dialog_config_hint">Please enter the config…</string>
<string name="dialog_config_name">Please enter the name…</string>
<string name="dialog_config_url">Please enter the url…</string>
<string name="dialog_delete_record">Delete all records?</string>
<string name="dialog_delete_keep">All keep records will be removed.</string>
<string name="dialog_delete_history">All history records will be removed.</string>
<!-- Error -->
<string name="error_config_get">Configuration get failed</string>

@ -42,6 +42,8 @@ public class SettingCustomFragment extends BaseFragment {
mBinding.danmuSyncText.setText(getSwitch(Setting.isDanmuSync()));
mBinding.speedText.setText(getSpeedText());
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));
mBinding.aggregatedSearchText.setText(getSwitch(Setting.isAggregatedSearch()));
mBinding.homeChangeConfigText.setText(getSwitch(Setting.isHomeChangeConfig()));
}
@Override
@ -52,6 +54,8 @@ public class SettingCustomFragment extends BaseFragment {
mBinding.speed.setOnClickListener(this::setSpeed);
mBinding.speed.setOnLongClickListener(this::resetSpeed);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.aggregatedSearch.setOnClickListener(this::setAggregatedSearch);
mBinding.homeChangeConfig.setOnClickListener(this::setHomeChangeConfig);
}
private boolean onTitle(View view) {
@ -96,4 +100,15 @@ public class SettingCustomFragment extends BaseFragment {
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));
}
private void setAggregatedSearch(View view) {
Setting.putAggregatedSearch(!Setting.isAggregatedSearch());
mBinding.aggregatedSearchText.setText(getSwitch(Setting.isAggregatedSearch()));
}
private void setHomeChangeConfig(View view) {
Setting.putHomeChangeConfig(!Setting.isHomeChangeConfig());
mBinding.homeChangeConfigText.setText(getSwitch(Setting.isHomeChangeConfig()));
RefreshEvent.config();
}
}

@ -98,6 +98,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
protected void initView() {
EventBus.getDefault().register(this);
setRecyclerView();
setAppBarView();
setViewModel();
showProgress();
initHot();
@ -127,6 +128,10 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
});
}
private void setAppBarView() {
mBinding.settingVodHistory.setVisibility(Setting.isHomeChangeConfig() ? View.VISIBLE : View.GONE);
}
private void setRecyclerView() {
mBinding.type.setHasFixedSize(true);
mBinding.type.setItemAnimator(null);
@ -315,6 +320,9 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
case SIZE:
homeContent();
break;
case CONFIG:
setAppBarView();
break;
}
}

@ -152,6 +152,60 @@
</LinearLayout>
<LinearLayout
android:id="@+id/aggregatedSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/shape_item"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_aggregated_search"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/aggregatedSearchText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="16sp"
tools:text="開" />
</LinearLayout>
<LinearLayout
android:id="@+id/homeChangeConfig"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/shape_item"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/setting_home_change_config"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/homeChangeConfigText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="16sp"
tools:text="Off" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

@ -28,17 +28,9 @@
android:id="@+id/logo"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="12dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_logo" />
<ImageView
android:id="@+id/settingVodHistory"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_setting_vod_history" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
@ -69,6 +61,16 @@
</LinearLayout>
<ImageView
android:id="@+id/settingVodHistory"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="12dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_setting_vod_history"
android:visibility="gone"
tools:visibility="visible"/>
<ImageView
android:id="@+id/keep"
android:layout_width="24dp"

@ -32,11 +32,6 @@
<string name="control_other">其它</string>
<string name="control_display">屏显</string>
<!-- Dialog -->
<string name="dialog_delete_record">删除全部纪录?</string>
<string name="dialog_delete_keep">收藏纪录将会全部删除。</string>
<string name="dialog_delete_history">观看纪录将会全部删除。</string>
<!-- Timer -->
<string name="timer_5">5 分钟</string>
<string name="timer_15">15 分钟</string>

@ -32,11 +32,6 @@
<string name="control_other">其它</string>
<string name="control_display">螢幕顯示</string>
<!-- Dialog -->
<string name="dialog_delete_record">刪除全部紀錄?</string>
<string name="dialog_delete_keep">收藏紀錄將會全部刪除。</string>
<string name="dialog_delete_history">觀看紀錄將會全部刪除。</string>
<!-- Timer -->
<string name="timer_5">5 分鐘</string>
<string name="timer_15">15 分鐘</string>

@ -32,11 +32,6 @@
<string name="control_other">Other</string>
<string name="control_display">Display</string>
<!-- Dialog -->
<string name="dialog_delete_record">Delete all records?</string>
<string name="dialog_delete_keep">All keep records will be removed.</string>
<string name="dialog_delete_history">All history records will be removed.</string>
<!-- Timer -->
<string name="timer_5">5 minutes</string>
<string name="timer_15">15 minutes</string>

Loading…
Cancel
Save