Skip to content

Commit c601666

Browse files
committed
merge from 1.3.7.11
2 parents fd145ec + 9a6710e commit c601666

File tree

11 files changed

+59
-61
lines changed

11 files changed

+59
-61
lines changed

HISTORY.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
## 更新日誌
22

3-
### v1.3.7.10
3+
### v1.3.7.11
44

55
* 修復閃退問題
6+
* 修復部分設備菜單異常問題
67

78
### v1.3.7.6
89

app/src/main/java/com/lizongying/mytv0/ChannelFragment.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,10 @@ class ChannelFragment : Fragment() {
9999
}
100100

101101
private val hideRunnable = Runnable {
102-
binding.content.text = BLANK
102+
if (_binding != null) {
103+
binding.content.text = BLANK
104+
}
105+
103106
view?.visibility = View.GONE
104107
channel = 0
105108
channelCount = 0

app/src/main/java/com/lizongying/mytv0/MainActivity.kt

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ class MainActivity : AppCompatActivity() {
141141
fun ready(tag: String) {
142142
Log.i(TAG, "ready $tag")
143143
ok++
144-
if (ok == 3) {
144+
if (ok == 5) {//must keep it
145145
Log.i(TAG, "watch")
146146
viewModel.groupModel.change.observe(this) { _ ->
147147
Log.i(TAG, "groupModel changed")
@@ -175,7 +175,7 @@ class MainActivity : AppCompatActivity() {
175175
viewModel.groupModel.getPosition(position)
176176
} else {
177177
Log.i(TAG, "group ${viewModel.groupModel.positionValue}")
178-
// if (SP.position < 0 || SP.position >= TVList.groupModel.getTVListModelNotFilter(1)!!
178+
// if (SP.position < 0 || SP.position >= TVList.groupModel.getAllList()!!
179179
// .size()
180180
// ) {
181181
// // R.string.last_channel_out_of_range.showToast()
@@ -265,9 +265,9 @@ class MainActivity : AppCompatActivity() {
265265
if (tvModel.like.value != null && tvModel.tv.id != -1) {
266266
val liked = tvModel.like.value as Boolean
267267
if (liked) {
268-
viewModel.groupModel.getTVListModelNotFilter(0)?.replaceTVModel(tvModel)
268+
viewModel.groupModel.getFavoritesList()?.replaceTVModel(tvModel)
269269
} else {
270-
viewModel.groupModel.getTVListModelNotFilter(0)
270+
viewModel.groupModel.getFavoritesList()
271271
?.removeTVModel(tvModel.tv.id)
272272
}
273273
SP.setLike(tvModel.tv.id, liked)
@@ -390,7 +390,7 @@ class MainActivity : AppCompatActivity() {
390390
}
391391

392392
fun play(position: Int) {
393-
if (position > -1 && position < viewModel.groupModel.getTVListModelNotFilter(1)!!.size()) {
393+
if (position > -1 && position < viewModel.groupModel.getAllList()!!.size()) {
394394
val prevGroup = viewModel.groupModel.positionValue
395395
val tvModel = viewModel.groupModel.getPosition(position)
396396

@@ -410,9 +410,7 @@ class MainActivity : AppCompatActivity() {
410410
fun prev() {
411411
val prevGroup = viewModel.groupModel.positionValue
412412
val tvModel =
413-
if (SP.defaultLike && viewModel.groupModel.isInLikeMode && viewModel.groupModel.getTVListModelNotFilter(
414-
0
415-
) != null
413+
if (SP.defaultLike && viewModel.groupModel.isInLikeMode && viewModel.groupModel.getFavoritesList() != null
416414
) {
417415
viewModel.groupModel.getPrev(true)
418416
} else {
@@ -432,9 +430,7 @@ class MainActivity : AppCompatActivity() {
432430
fun next() {
433431
val prevGroup = viewModel.groupModel.positionValue
434432
val tvModel =
435-
if (SP.defaultLike && viewModel.groupModel.isInLikeMode && viewModel.groupModel.getTVListModelNotFilter(
436-
0
437-
) != null
433+
if (SP.defaultLike && viewModel.groupModel.isInLikeMode && viewModel.groupModel.getFavoritesList() != null
438434
) {
439435
viewModel.groupModel.getNext(true)
440436
} else {

app/src/main/java/com/lizongying/mytv0/MenuFragment.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ class MenuFragment : Fragment(), GroupAdapter.ItemListener, ListAdapter.ItemList
137137
viewModel.groupModel.setPosition(position)
138138
SP.positionGroup = position
139139

140-
viewModel.groupModel.getTVListModelNotFilter(position)?.let {
140+
viewModel.groupModel.getCurrentList()?.let {
141141
(binding.list.adapter as ListAdapter).update(it)
142142
}
143143
}
@@ -243,9 +243,7 @@ class MenuFragment : Fragment(), GroupAdapter.ItemListener, ListAdapter.ItemList
243243
// listAdapter.focusable(true)
244244
// }
245245

246-
if (viewModel.groupModel.tvGroupValue.size < 2 || viewModel.groupModel.getTVListModelNotFilter(
247-
1
248-
)?.size() == 0
246+
if (viewModel.groupModel.tvGroupValue.size < 2 || viewModel.groupModel.getAllList()?.size() == 0
249247
) {
250248
R.string.channel_not_exist.showToast()
251249
return
@@ -256,7 +254,7 @@ class MenuFragment : Fragment(), GroupAdapter.ItemListener, ListAdapter.ItemList
256254
) {
257255
updateList(position)
258256
}
259-
viewModel.groupModel.getTVListModelNotFilter(position)?.let {
257+
viewModel.groupModel.getCurrentList()?.let {
260258
listAdapter.toPosition(it.positionPlayingValue)
261259
}
262260
}

app/src/main/java/com/lizongying/mytv0/MyTVApplication.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.lizongying.mytv0
22

3-
import android.app.Application
43
import android.content.Context
54
import android.content.res.Resources
65
import android.os.Handler
@@ -94,10 +93,6 @@ class MyTVApplication : MultiDexApplication() {
9493
return (px * ratio + 0.5f).toInt()
9594
}
9695

97-
fun px2Px2(px: Int): Int {
98-
return (px * ratio * density + 0.5f).toInt()
99-
}
100-
10196
fun px2PxFont(px: Float): Float {
10297
return (px * ratio / scale).toFloat()
10398
}

app/src/main/java/com/lizongying/mytv0/PlayerFragment.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,14 @@ class PlayerFragment : Fragment() {
105105
}
106106

107107
override fun onPlaybackStateChanged(playbackState: Int) {
108-
Log.d(TAG, "playbackState $playbackState")
108+
val stateString = when (playbackState) {
109+
Player.STATE_IDLE -> "idle"
110+
Player.STATE_BUFFERING -> "buffering"
111+
Player.STATE_READY -> "ready"
112+
Player.STATE_ENDED -> "end"
113+
else -> "unknown"
114+
}
115+
Log.d(TAG, "playbackState $stateString")
109116
super.onPlaybackStateChanged(playbackState)
110117
}
111118

@@ -276,6 +283,7 @@ class PlayerFragment : Fragment() {
276283
super.onDestroyView()
277284
_binding = null
278285
}
286+
279287
protected fun triggerMetadata(metadata: Metadata) {
280288
//onMetadataListeners.forEach { it(metadata) }
281289
Log.d(TAG, "metadata: $metadata")

app/src/main/java/com/lizongying/mytv0/SettingFragment.kt

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ class SettingFragment : Fragment() {
117117
val size = Utils.dpToPx(200)
118118
val img = QrCodeUtil().createQRCodeBitmap(server, size, size)
119119
val args = Bundle()
120-
args.putParcelable("bitmap", img);
120+
args.putParcelable("bitmap", img)
121121
imageModalFragment.arguments = args
122122

123123
imageModalFragment.show(requireFragmentManager(), ModalFragment.TAG)
@@ -152,6 +152,9 @@ class SettingFragment : Fragment() {
152152
requireActivity().finishAffinity()
153153
}
154154

155+
val txtTextSize =
156+
application.px2PxFont(binding.versionName.textSize)
157+
155158
binding.content.layoutParams.width =
156159
application.px2Px(binding.content.layoutParams.width)
157160
binding.content.setPadding(
@@ -162,28 +165,19 @@ class SettingFragment : Fragment() {
162165
)
163166

164167
binding.name.textSize = application.px2PxFont(binding.name.textSize)
165-
binding.version.textSize = application.px2PxFont(binding.version.textSize)
168+
binding.version.textSize = txtTextSize
166169
val layoutParamsVersion = binding.version.layoutParams as ViewGroup.MarginLayoutParams
167170
layoutParamsVersion.topMargin = application.px2Px(binding.version.marginTop)
168171
layoutParamsVersion.bottomMargin = application.px2Px(binding.version.marginBottom)
169172
binding.version.layoutParams = layoutParamsVersion
170173

171174
val btnWidth =
172-
application.px2Px2(binding.confirmConfig.layoutParams.width)
173-
val btnHeight =
174-
application.px2Px2(binding.confirmConfig.layoutParams.height)
175-
val btnTextSize =
176-
application.px2PxFont(binding.confirmConfig.textSize)
175+
application.px2Px(binding.confirmConfig.layoutParams.width)
176+
177177
val btnLayoutParams =
178178
binding.confirmConfig.layoutParams as ViewGroup.MarginLayoutParams
179179
btnLayoutParams.marginEnd = application.px2Px(binding.confirmConfig.marginEnd)
180180

181-
val txtWidth =
182-
application.px2Px2(binding.versionName.layoutParams.width)
183-
val txtTextSize =
184-
application.px2PxFont(binding.versionName.textSize)
185-
186-
binding.versionName.layoutParams.width = txtWidth
187181
binding.versionName.textSize = txtTextSize
188182

189183
for (i in listOf(
@@ -195,8 +189,7 @@ class SettingFragment : Fragment() {
195189
binding.appreciate,
196190
)) {
197191
i.layoutParams.width = btnWidth
198-
i.layoutParams.height = btnHeight
199-
i.textSize = btnTextSize
192+
i.textSize = txtTextSize
200193
i.layoutParams = btnLayoutParams
201194
i.setOnFocusChangeListener { _, hasFocus ->
202195
if (hasFocus) {
@@ -352,7 +345,7 @@ class SettingFragment : Fragment() {
352345

353346
private fun confirmChannel() {
354347
SP.channel =
355-
min(max(SP.channel, 0), viewModel.groupModel.getTVListModelNotFilter(1)!!.size())
348+
min(max(SP.channel, 0), viewModel.groupModel.getAllList()!!.size())
356349

357350
(activity as MainActivity).settingActive()
358351
}
@@ -361,10 +354,6 @@ class SettingFragment : Fragment() {
361354
this.server = "http://$server"
362355
}
363356

364-
fun setVersionName(versionName: String) {
365-
binding.versionName.text = versionName
366-
}
367-
368357
private fun hideSelf() {
369358
requireActivity().supportFragmentManager.beginTransaction()
370359
.hide(this)

app/src/main/java/com/lizongying/mytv0/models/TVGroupModel.kt

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ class TVGroupModel : ViewModel() {
2222
val positionValue: Int
2323
get() = _position.value ?: 0
2424

25-
2625
private val _positionPlaying = MutableLiveData<Int>()
2726
val positionPlaying: LiveData<Int>
2827
get() = _positionPlaying
@@ -87,15 +86,15 @@ class TVGroupModel : ViewModel() {
8786
)
8887
(_tvGroup.value as List<TVListModel>)[1].initTVList()
8988
}
90-
89+
//API19-: clear() in ViewModel must rename!
9190
fun clear2() {
9291
if (SP.showAllChannels) {
9392
_tvGroup.value =
94-
mutableListOf(getTVListModelNotFilter(0)!!, getTVListModelNotFilter(1)!!)
93+
mutableListOf(getFavoritesList()!!, getAllList()!!)
9594
setPosition(0)
96-
getTVListModelNotFilter(1)?.clear2()
95+
getAllList()?.clear2()
9796
} else {
98-
_tvGroup.value = mutableListOf(getTVListModelNotFilter(0)!!)
97+
_tvGroup.value = mutableListOf(getFavoritesList()!!)
9998
setPosition(0)
10099
}
101100
}
@@ -159,6 +158,14 @@ class TVGroupModel : ViewModel() {
159158
return getTVListModelNotFilter(positionValue)
160159
}
161160

161+
fun getFavoritesList(): TVListModel? {
162+
return getTVListModelNotFilter(0)
163+
}
164+
165+
fun getAllList(): TVListModel? {
166+
return getTVListModelNotFilter(1)
167+
}
168+
162169
// get & set
163170
// keep: In the current list loop
164171
fun getPrev(keep: Boolean = false): TVModel? {
@@ -170,7 +177,7 @@ class TVGroupModel : ViewModel() {
170177
return null
171178
}
172179

173-
var tvListModel = getTVListModelNotFilter(positionValue)!!
180+
var tvListModel = getCurrentList()!!
174181
if (keep) {
175182
Log.i(TAG, "group position $positionValue")
176183
return tvListModel.getPrev()
@@ -206,7 +213,7 @@ class TVGroupModel : ViewModel() {
206213
return null
207214
}
208215

209-
var tvListModel = getTVListModelNotFilter(positionValue)!!
216+
var tvListModel = getCurrentList()!!
210217
if (keep) {
211218
return tvListModel.getNext()
212219
}

app/src/main/java/com/lizongying/mytv0/models/TVListModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class TVListModel(private val name: String, private val groupIndex: Int) : ViewM
109109
fun initTVList() {
110110
_tvList.value = mutableListOf()
111111
}
112-
112+
//API19-: clear() in ViewModel must rename!
113113
fun clear2() {
114114
initTVList()
115115
setPosition(0)

app/src/main/res/layout/setting.xml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
>
1717
<LinearLayout
1818
android:id="@+id/content"
19-
android:layout_width="430dp"
19+
android:layout_width="330dp"
2020
android:layout_height="wrap_content"
2121
android:orientation="vertical"
2222
android:paddingTop="20dp"
@@ -66,7 +66,7 @@
6666
>
6767
<androidx.appcompat.widget.AppCompatButton
6868
android:id="@+id/qrcode"
69-
android:layout_width="wrap_content"
69+
android:layout_width="100dp"
7070
android:layout_height="wrap_content"
7171
android:background="@color/description_blur"
7272
android:textColor="@color/blur"
@@ -75,7 +75,7 @@
7575
android:text="@string/server" />
7676
<androidx.appcompat.widget.AppCompatButton
7777
android:id="@+id/confirm_config"
78-
android:layout_width="wrap_content"
78+
android:layout_width="100dp"
7979
android:layout_height="wrap_content"
8080
android:background="@color/description_blur"
8181
android:textColor="@color/blur"
@@ -84,7 +84,7 @@
8484
android:text="@string/channels" />
8585
<androidx.appcompat.widget.AppCompatButton
8686
android:id="@+id/clear"
87-
android:layout_width="wrap_content"
87+
android:layout_width="100dp"
8888
android:layout_height="wrap_content"
8989
android:background="@color/description_blur"
9090
android:textColor="@color/blur"
@@ -98,10 +98,11 @@
9898
android:layout_width="match_parent"
9999
android:layout_height="wrap_content"
100100
android:layout_marginTop="5dp"
101-
android:orientation="horizontal">
101+
android:orientation="horizontal"
102+
>
102103
<androidx.appcompat.widget.AppCompatButton
103104
android:id="@+id/check_version"
104-
android:layout_width="wrap_content"
105+
android:layout_width="100dp"
105106
android:layout_height="wrap_content"
106107
android:background="@color/description_blur"
107108
android:textColor="@color/blur"
@@ -111,7 +112,7 @@
111112
/>
112113
<androidx.appcompat.widget.AppCompatButton
113114
android:id="@+id/exit"
114-
android:layout_width="wrap_content"
115+
android:layout_width="100dp"
115116
android:layout_height="wrap_content"
116117
android:background="@color/description_blur"
117118
android:textColor="@color/blur"
@@ -121,7 +122,7 @@
121122
/>
122123
<androidx.appcompat.widget.AppCompatButton
123124
android:id="@+id/appreciate"
124-
android:layout_width="wrap_content"
125+
android:layout_width="100dp"
125126
android:layout_height="wrap_content"
126127
android:background="@color/description_blur"
127128
android:textColor="@color/blur"

0 commit comments

Comments
 (0)