From 1dffd62edd79c21842def655722d0d56a7885fba Mon Sep 17 00:00:00 2001 From: xiaowusky Date: Thu, 13 Jul 2023 10:07:03 +0800 Subject: [PATCH] =?UTF-8?q?desc:=E8=A7=86=E9=A2=91=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=A2=9E=E5=8A=A0=E6=8C=89=E9=92=AE=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 2 +- .../java/com/yinuo/safetywatcher/TestUtils.kt | 4 +- .../player/ProVideoActivity.java | 2 +- .../{ => watcher}/player/ProVideoView.java | 5 +- .../player/VideoControllerView.java | 54 ++++++- .../watcher/ui/HistoryVideoActivity.kt | 4 +- .../{ => watcher}/xls/ICellValue.kt | 2 +- .../{ => watcher}/xls/SimpleCellValue.kt | 2 +- .../{ => watcher}/xls/utils/ExcelUtils.kt | 4 +- .../{ => watcher}/xls/utils/PathUtils.kt | 2 +- app/src/main/res/layout/activity_main_pro.xml | 2 +- app/src/main/res/layout/media_controller.xml | 137 +++++++++++------- 12 files changed, 140 insertions(+), 80 deletions(-) rename app/src/main/java/com/yinuo/safetywatcher/{ => watcher}/player/ProVideoActivity.java (99%) rename app/src/main/java/com/yinuo/safetywatcher/{ => watcher}/player/ProVideoView.java (88%) rename app/src/main/java/com/yinuo/safetywatcher/{ => watcher}/player/VideoControllerView.java (90%) rename app/src/main/java/com/yinuo/safetywatcher/{ => watcher}/xls/ICellValue.kt (54%) rename app/src/main/java/com/yinuo/safetywatcher/{ => watcher}/xls/SimpleCellValue.kt (75%) rename app/src/main/java/com/yinuo/safetywatcher/{ => watcher}/xls/utils/ExcelUtils.kt (97%) rename app/src/main/java/com/yinuo/safetywatcher/{ => watcher}/xls/utils/PathUtils.kt (97%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 07765cb..d181825 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -116,7 +116,7 @@ android:exported="false" android:screenOrientation="landscape" /> diff --git a/app/src/main/java/com/yinuo/safetywatcher/TestUtils.kt b/app/src/main/java/com/yinuo/safetywatcher/TestUtils.kt index 00ef7ea..52a5309 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/TestUtils.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/TestUtils.kt @@ -15,8 +15,8 @@ import com.yinuo.library.vlc.TxtOverlay import com.yinuo.safetywatcher.watcher.net.UploadFileApi import com.yinuo.safetywatcher.watcher.ui.view.CommonDialog import com.yinuo.safetywatcher.watcher.utils.DateUtils -import com.yinuo.safetywatcher.xls.SimpleCellValue -import com.yinuo.safetywatcher.xls.utils.ExcelUtils +import com.yinuo.safetywatcher.watcher.xls.SimpleCellValue +import com.yinuo.safetywatcher.watcher.xls.utils.ExcelUtils import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import java.io.BufferedReader diff --git a/app/src/main/java/com/yinuo/safetywatcher/player/ProVideoActivity.java b/app/src/main/java/com/yinuo/safetywatcher/watcher/player/ProVideoActivity.java similarity index 99% rename from app/src/main/java/com/yinuo/safetywatcher/player/ProVideoActivity.java rename to app/src/main/java/com/yinuo/safetywatcher/watcher/player/ProVideoActivity.java index 8a647c7..b932e15 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/player/ProVideoActivity.java +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/player/ProVideoActivity.java @@ -1,4 +1,4 @@ -package com.yinuo.safetywatcher.player; +package com.yinuo.safetywatcher.watcher.player; /* * Copyright (C) 2015 Zhang Rui diff --git a/app/src/main/java/com/yinuo/safetywatcher/player/ProVideoView.java b/app/src/main/java/com/yinuo/safetywatcher/watcher/player/ProVideoView.java similarity index 88% rename from app/src/main/java/com/yinuo/safetywatcher/player/ProVideoView.java rename to app/src/main/java/com/yinuo/safetywatcher/watcher/player/ProVideoView.java index 5333c17..c5abbd2 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/player/ProVideoView.java +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/player/ProVideoView.java @@ -1,11 +1,8 @@ -package com.yinuo.safetywatcher.player; +package com.yinuo.safetywatcher.watcher.player; import android.content.Context; -import android.net.Uri; -import android.text.TextUtils; import android.util.AttributeSet; -import tv.danmaku.ijk.media.player.IjkMediaPlayer; import tv.danmaku.ijk.media.widget.media.IjkVideoView; /** diff --git a/app/src/main/java/com/yinuo/safetywatcher/player/VideoControllerView.java b/app/src/main/java/com/yinuo/safetywatcher/watcher/player/VideoControllerView.java similarity index 90% rename from app/src/main/java/com/yinuo/safetywatcher/player/VideoControllerView.java rename to app/src/main/java/com/yinuo/safetywatcher/watcher/player/VideoControllerView.java index 8796a37..96d5f9f 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/player/VideoControllerView.java +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/player/VideoControllerView.java @@ -1,6 +1,9 @@ -package com.yinuo.safetywatcher.player; +package com.yinuo.safetywatcher.watcher.player; +import android.app.Activity; import android.content.Context; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.StateListDrawable; import android.os.Handler; import android.os.Message; import android.util.AttributeSet; @@ -18,6 +21,8 @@ import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; +import androidx.appcompat.content.res.AppCompatResources; + import com.yinuo.safetywatcher.R; import java.lang.ref.WeakReference; @@ -56,6 +61,7 @@ public class VideoControllerView extends FrameLayout implements IMediaController private TextView mCurrentTime; // 当前播放时间点 private TextView mEndTime; // 总时长 + private View mControlView; private ImageButton mPauseButton; // 暂停or开始 private ImageButton mFastButton; // 快进 private ImageButton mRewindButton; // 快退 @@ -227,8 +233,8 @@ public class VideoControllerView extends FrameLayout implements IMediaController doPauseResume(); show(sDefaultTimeout); - if (mPauseButton != null) { - mPauseButton.requestFocus(); + if (mControlView != null) { + mControlView.requestFocus(); } } @@ -343,15 +349,15 @@ public class VideoControllerView extends FrameLayout implements IMediaController if (!mShowing && mAnchor != null) { setProgress(); - if (mPauseButton != null) { - mPauseButton.requestFocus(); + if (mControlView != null) { + mControlView.requestFocus(); } disableUnsupportedButtons(); LayoutParams tlp = new LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.MATCH_PARENT, Gravity.BOTTOM); if (mAnchor instanceof ViewGroup) { @@ -386,7 +392,7 @@ public class VideoControllerView extends FrameLayout implements IMediaController */ protected View makeControllerView() { LayoutInflater inflate = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - mRoot = inflate.inflate(R.layout.media_controller, null); + mRoot = inflate.inflate(R.layout.media_controller, this, false); initControllerView(mRoot); return mRoot; } @@ -394,7 +400,6 @@ public class VideoControllerView extends FrameLayout implements IMediaController private void initControllerView(View v) { mPauseButton = (ImageButton) v.findViewById(R.id.pause); if (mPauseButton != null) { - mPauseButton.requestFocus(); mPauseButton.setOnClickListener(mPauseListener); } @@ -434,6 +439,39 @@ public class VideoControllerView extends FrameLayout implements IMediaController } else { v.findViewById(R.id.seek_bar_container).setVisibility(VISIBLE); } + + View backArea = v.findViewById(R.id.back_area); + backArea.setOnClickListener(v1 -> { + if (mContext instanceof Activity) { + ((Activity) mContext).finish(); + } + }); + + setCommonBg(backArea); + mControlView = v.findViewById(R.id.control_area); + mControlView.setOnKeyListener((v12, keyCode, event) -> { + if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER || keyCode == KeyEvent.KEYCODE_ENTER) { + if (event.getAction() == KeyEvent.ACTION_DOWN) { + mPauseButton.performClick(); + } + return true; + } + return false; + }); + setCommonBg(mControlView); + mControlView.requestFocus(); + } + + private void setCommonBg(View v) { + StateListDrawable bg = new StateListDrawable(); + Drawable currentBackground = v.getBackground(); + Drawable drawable = AppCompatResources.getDrawable( + mContext, + com.yinuo.safetywatcher.R.drawable.focus_bg + ); + bg.addState(new int[]{android.R.attr.state_focused}, drawable); + bg.addState(new int[]{}, currentBackground); + v.setBackground(bg); } /** diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HistoryVideoActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HistoryVideoActivity.kt index c22587f..1c97604 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HistoryVideoActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HistoryVideoActivity.kt @@ -5,13 +5,11 @@ import android.view.View import androidx.activity.result.contract.ActivityResultContracts import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView import com.common.commonlib.db.DBUtils -import com.common.commonlib.db.entity.Gas import com.common.commonlib.db.entity.Video import com.yinuo.safetywatcher.R import com.yinuo.safetywatcher.databinding.ActivityHistoryVideoBinding -import com.yinuo.safetywatcher.player.ProVideoActivity +import com.yinuo.safetywatcher.watcher.player.ProVideoActivity import com.yinuo.safetywatcher.watcher.base.BaseActivity import com.yinuo.safetywatcher.watcher.constant.DEFAULT_QUERY_TIME_INTERVAL import com.yinuo.safetywatcher.watcher.ui.adapter.HistoryVideoAdapter diff --git a/app/src/main/java/com/yinuo/safetywatcher/xls/ICellValue.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/xls/ICellValue.kt similarity index 54% rename from app/src/main/java/com/yinuo/safetywatcher/xls/ICellValue.kt rename to app/src/main/java/com/yinuo/safetywatcher/watcher/xls/ICellValue.kt index 8f9e953..a9f7e47 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/xls/ICellValue.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/xls/ICellValue.kt @@ -1,4 +1,4 @@ -package com.yinuo.safetywatcher.xls +package com.yinuo.safetywatcher.watcher.xls interface ICellValue { fun getValue(): String diff --git a/app/src/main/java/com/yinuo/safetywatcher/xls/SimpleCellValue.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/xls/SimpleCellValue.kt similarity index 75% rename from app/src/main/java/com/yinuo/safetywatcher/xls/SimpleCellValue.kt rename to app/src/main/java/com/yinuo/safetywatcher/watcher/xls/SimpleCellValue.kt index 44f95c1..ef9802f 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/xls/SimpleCellValue.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/xls/SimpleCellValue.kt @@ -1,4 +1,4 @@ -package com.yinuo.safetywatcher.xls +package com.yinuo.safetywatcher.watcher.xls data class SimpleCellValue(val content: String) : ICellValue { override fun getValue(): String { diff --git a/app/src/main/java/com/yinuo/safetywatcher/xls/utils/ExcelUtils.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/xls/utils/ExcelUtils.kt similarity index 97% rename from app/src/main/java/com/yinuo/safetywatcher/xls/utils/ExcelUtils.kt rename to app/src/main/java/com/yinuo/safetywatcher/watcher/xls/utils/ExcelUtils.kt index fa58161..55bde46 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/xls/utils/ExcelUtils.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/xls/utils/ExcelUtils.kt @@ -1,8 +1,8 @@ -package com.yinuo.safetywatcher.xls.utils +package com.yinuo.safetywatcher.watcher.xls.utils import android.content.Context import android.util.Log -import com.yinuo.safetywatcher.xls.ICellValue +import com.yinuo.safetywatcher.watcher.xls.ICellValue import com.yinuo.safetywatcher.R import jxl.Workbook import jxl.WorkbookSettings diff --git a/app/src/main/java/com/yinuo/safetywatcher/xls/utils/PathUtils.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/xls/utils/PathUtils.kt similarity index 97% rename from app/src/main/java/com/yinuo/safetywatcher/xls/utils/PathUtils.kt rename to app/src/main/java/com/yinuo/safetywatcher/watcher/xls/utils/PathUtils.kt index f86bd85..1698a0f 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/xls/utils/PathUtils.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/xls/utils/PathUtils.kt @@ -1,4 +1,4 @@ -package com.yinuo.safetywatcher.xls.utils +package com.yinuo.safetywatcher.watcher.xls.utils import android.content.Context import android.os.Environment diff --git a/app/src/main/res/layout/activity_main_pro.xml b/app/src/main/res/layout/activity_main_pro.xml index b7881ee..c386406 100644 --- a/app/src/main/res/layout/activity_main_pro.xml +++ b/app/src/main/res/layout/activity_main_pro.xml @@ -12,7 +12,7 @@ android:layout_gravity="center" android:background="#000000"> - + android:layout_height="@dimen/_87dp" + android:background="#6000" + android:focusable="true" + android:gravity="center_vertical"> - + android:layout_height="@dimen/_40dp" + android:layout_marginStart="@dimen/_31dp" + android:src="@mipmap/ic_back" /> + - + - + + + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingTop="@dimen/_30dp"> - + - + - + - + - + - + + + + + + + \ No newline at end of file