From c8bd83689ea0e32eacecba97a50edc631291c238 Mon Sep 17 00:00:00 2001 From: lunaticbum <> Date: Fri, 13 Sep 2024 11:11:28 +0900 Subject: [PATCH] ..... --- .../rasel/lunar/launcher/LauncherActivity.kt | 19 +- .../rasel/lunar/launcher/feeds/Feeds.kt | 65 +- .../lunar/launcher/feeds/rss/RssAdapter.kt | 6 +- .../rasel/lunar/launcher/home/LauncherHome.kt | 16 +- .../adapters}/LinearLayoutManagerWrapper.kt | 2 +- .../adapters}/NotificationItemAdapter.kt | 2 +- .../adapters/RecentCallsAdapter.kt} | 18 +- .../adapters}/RssFeedsParser.kt | 52 +- .../adapters}/RssItemAdapter.kt | 2 +- .../{todos => home/adapters}/RssTagAdapter.kt | 10 +- .../adapters}/SmsLogsAdapter.kt | 2 +- .../rasel/lunar/launcher/model/Adults.kt | 6 +- .../rasel/lunar/launcher/model/NewsData.kt | 45 + .../lunar/launcher/model/others/Reddit.kt | 2 - .../lunar/launcher/todos/DatabaseHandler.kt | 107 - .../rasel/lunar/launcher/todos/YoutubeData.kt | 1758 ----------------- .../lunar/launcher/workers/FmKoreaGetter.kt | 5 +- .../lunar/launcher/workers/NewsFeedsGetter.kt | 2 +- .../lunar/launcher/workers/RedditGetter.kt | 2 +- .../lunar/launcher/workers/YoutubeGetter.kt | 9 +- app/src/main/res/drawable/apps_bg.xml | 4 +- app/src/main/res/drawable/base_bg.xml | 2 +- app/src/main/res/drawable/next_song.xml | 9 + app/src/main/res/drawable/play_song.xml | 9 + app/src/main/res/drawable/rounded_bg.xml | 4 +- app/src/main/res/drawable/sms_bg.xml | 2 +- app/src/main/res/layout/calllog_item.xml | 4 +- app/src/main/res/layout/launcher_home.xml | 5 +- 28 files changed, 160 insertions(+), 2009 deletions(-) rename app/src/main/kotlin/rasel/lunar/launcher/{todos => home/adapters}/LinearLayoutManagerWrapper.kt (93%) rename app/src/main/kotlin/rasel/lunar/launcher/{todos => home/adapters}/NotificationItemAdapter.kt (99%) rename app/src/main/kotlin/rasel/lunar/launcher/{todos/MissedCallsAdapter.kt => home/adapters/RecentCallsAdapter.kt} (92%) rename app/src/main/kotlin/rasel/lunar/launcher/{todos => home/adapters}/RssFeedsParser.kt (83%) rename app/src/main/kotlin/rasel/lunar/launcher/{todos => home/adapters}/RssItemAdapter.kt (99%) rename app/src/main/kotlin/rasel/lunar/launcher/{todos => home/adapters}/RssTagAdapter.kt (94%) rename app/src/main/kotlin/rasel/lunar/launcher/{todos => home/adapters}/SmsLogsAdapter.kt (99%) create mode 100644 app/src/main/kotlin/rasel/lunar/launcher/model/NewsData.kt delete mode 100644 app/src/main/kotlin/rasel/lunar/launcher/todos/DatabaseHandler.kt delete mode 100644 app/src/main/kotlin/rasel/lunar/launcher/todos/YoutubeData.kt create mode 100644 app/src/main/res/drawable/next_song.xml create mode 100644 app/src/main/res/drawable/play_song.xml diff --git a/app/src/main/kotlin/rasel/lunar/launcher/LauncherActivity.kt b/app/src/main/kotlin/rasel/lunar/launcher/LauncherActivity.kt index 3e648c3..bde394a 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/LauncherActivity.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/LauncherActivity.kt @@ -94,8 +94,8 @@ import rasel.lunar.launcher.home.LauncherHome.Companion.lastedFinishedPageUrl import rasel.lunar.launcher.home.LauncherHome.Companion.listTags import rasel.lunar.launcher.model.MissD import rasel.lunar.launcher.model.RssData -import rasel.lunar.launcher.model.RssItem -import rasel.lunar.launcher.model.RssTagItem +import rasel.lunar.launcher.model.JGuru +import rasel.lunar.launcher.model.jGuruTag import rasel.lunar.launcher.model.getRssData import rasel.lunar.launcher.model.getT import rasel.lunar.launcher.utils.BLog @@ -146,9 +146,9 @@ internal class LauncherActivity : AppCompatActivity() { val COMIC_WORK_TAG = "ComicGetter" val COMIC2_WORK_TAG = "ComicGetter2" val REDDIT_WORK_TAG = "RedditGetter" - val shortTimePeriod = 200L - val longTimePeriod = 600L - val midTimePeriod = 300L + val shortTimePeriod = 20L + val longTimePeriod = 60L + val midTimePeriod = 30L var isOpendFold = false val qDayPeriod = 60L * 8L @@ -165,7 +165,7 @@ internal class LauncherActivity : AppCompatActivity() { .addTag(SMS_WORK_TAG) .build()) }, 1, TimeUnit.SECONDS) - var delay = 1L + var delay = 3L Executors.newSingleThreadScheduledExecutor().schedule({ mWorkManager?.cancelAllWorkByTag(ContactInfoGetter.TAG) mWorkManager?.enqueueUniquePeriodicWork( @@ -183,7 +183,6 @@ internal class LauncherActivity : AppCompatActivity() { .addTag(AppInfoGetter.TAG) .build()) }, delay, TimeUnit.SECONDS) - delay = delay + 3L Executors.newSingleThreadScheduledExecutor().schedule({ mWorkManager?.cancelAllWorkByTag(RecentCallGetter.TAG) @@ -859,7 +858,7 @@ internal class LauncherActivity : AppCompatActivity() { var actor = if (it.getElementsByClass("wpptax").size > 0 )it.getElementsByClass("wpptax").get(0).text() else "" if (pageLink.length > 0 && imgg.length > 0 && title.length > 0 && model.length > 0) { temp.add( - RssItem( + JGuru( model = model, title = title, pageLink = pageLink, @@ -893,7 +892,7 @@ internal class LauncherActivity : AppCompatActivity() { minDate = Math.min(minDate,regDate) maxDate = Math.max(maxDate,regDate) - temp.add(RssItem(model = model, title = title, pageLink = pageLink, image = imgg, tags = tags, date = make0H(simpldateFormat.parse(date))).getRssData()) + temp.add(JGuru(model = model, title = title, pageLink = pageLink, image = imgg, tags = tags, date = make0H(simpldateFormat.parse(date))).getRssData()) }.apply { var itemC = 0 WorkersDb.insertBulkInteface(temp) @@ -911,7 +910,7 @@ internal class LauncherActivity : AppCompatActivity() { it.children().forEach { if (it.tag().name.contains("li")) { listTags.add( - RssTagItem( + jGuruTag( tagTitle = it.getElementsByTag("a").get(0).text(), link = it.getElementsByTag("a").get(0).attr("href") ) diff --git a/app/src/main/kotlin/rasel/lunar/launcher/feeds/Feeds.kt b/app/src/main/kotlin/rasel/lunar/launcher/feeds/Feeds.kt index aed291b..5ceb8b7 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/feeds/Feeds.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/feeds/Feeds.kt @@ -40,6 +40,7 @@ import android.widget.EditText import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.PopupMenu +import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.lifecycle.Lifecycle @@ -77,7 +78,7 @@ import rasel.lunar.launcher.model.MostItem import rasel.lunar.launcher.model.RssData import rasel.lunar.launcher.model.RssDataInterface import rasel.lunar.launcher.model.RssDataType -import rasel.lunar.launcher.model.RssTagItem +import rasel.lunar.launcher.model.jGuruTag import rasel.lunar.launcher.model.dateFormat import rasel.lunar.launcher.model.getRssData import rasel.lunar.launcher.utils.BLog @@ -96,7 +97,7 @@ internal class Feeds : Fragment() , CommadCallabck { private lateinit var binding: FeedsBinding private val requestCodeString = "requestCode" var mRssAdapter : RssAdapter? = null - var mRssAdapter2 : RssAdapter? = null + var mRssAdapter2 : RssAdapter? = null override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { binding = FeedsBinding.inflate(inflater, container, false) mRssAdapter = RssAdapter(requireContext()) @@ -578,39 +579,39 @@ internal class Feeds : Fragment() , CommadCallabck { } private fun createWidget(appWidgetId: Int, height: Int?) { -// if (appWidgetId == -1) return -// -// val appWidgetInfo = appWidgetManager!!.getAppWidgetInfo(appWidgetId) -// val params: LayoutParams? -// -// when (height) { -// null -> { -// params = ConstraintLayout.LayoutParams(LayoutParams.MATCH_PARENT, appWidgetInfo.minHeight) -// val updatedIds = splitWidgetIds.plus("$appWidgetId") -// val updatedHeights = splitWidgetHeights.plus("${appWidgetInfo.minHeight}") -// saveWidgetData(updatedIds, updatedHeights) -// } -// else -> params = ConstraintLayout.LayoutParams(LayoutParams.MATCH_PARENT, height) -// } -// -// (appWidgetHost?.createView(lActivity!!.applicationContext, appWidgetId, appWidgetInfo) as WidgetHostView) -// .apply { -// setAppWidget(appWidgetId, appWidgetInfo) -// }.let { -// binding.widgetContainer.addView(it, params) -// widgetMenu(it) -// } + if (appWidgetId == -1) return + + val appWidgetInfo = appWidgetManager!!.getAppWidgetInfo(appWidgetId) + val params: ConstraintLayout.LayoutParams? + + when (height) { + null -> { + params = ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.MATCH_PARENT, appWidgetInfo.minHeight) + val updatedIds = splitWidgetIds.plus("$appWidgetId") + val updatedHeights = splitWidgetHeights.plus("${appWidgetInfo.minHeight}") + saveWidgetData(updatedIds, updatedHeights) + } + else -> params = ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.MATCH_PARENT, height) + } + + (appWidgetHost?.createView(lActivity!!.applicationContext, appWidgetId, appWidgetInfo) as WidgetHostView) + .apply { + setAppWidget(appWidgetId, appWidgetInfo) + }.let { + binding.widgetContainer.addView(it, params) + widgetMenu(it) + } } private fun updateWidgets() { -// if (splitWidgetIds.size > 0) { -// viewLifecycleOwner.lifecycleScope.launch { -// binding.widgetContainer.removeAllViews() -// splitWidgetIds.indices.forEach { i: Int -> -// createWidget(splitWidgetIds[i]!!.int(), splitWidgetHeights[i]!!.int()) -// } -// } -// } + if (splitWidgetIds.size > 0) { + viewLifecycleOwner.lifecycleScope.launch { + binding.widgetContainer.removeAllViews() + splitWidgetIds.indices.forEach { i: Int -> + createWidget(splitWidgetIds[i]!!.int(), splitWidgetHeights[i]!!.int()) + } + } + } } private fun widgetMenu(hostView: WidgetHostView) { diff --git a/app/src/main/kotlin/rasel/lunar/launcher/feeds/rss/RssAdapter.kt b/app/src/main/kotlin/rasel/lunar/launcher/feeds/rss/RssAdapter.kt index ec1790b..7c979db 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/feeds/rss/RssAdapter.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/feeds/rss/RssAdapter.kt @@ -33,8 +33,8 @@ import rasel.lunar.launcher.LauncherActivity.Companion.lActivity import rasel.lunar.launcher.databinding.ListItemWithBinding import rasel.lunar.launcher.model.RssDataInterface import rasel.lunar.launcher.model.RssDataType -import rasel.lunar.launcher.model.RssItem -import rasel.lunar.launcher.todos.RssItemDiffUtil +import rasel.lunar.launcher.model.JGuru +import rasel.lunar.launcher.home.adapters.RssItemDiffUtil import java.net.URLEncoder import java.nio.charset.Charset import java.text.SimpleDateFormat @@ -95,7 +95,7 @@ internal class RssAdapter(private val context: Context) : } holder.view.root.setOnLongClickListener { - if(item is RssItem) { + if(item is JGuru) { openOpera( "https://cili.site/search?q=${ URLEncoder.encode( diff --git a/app/src/main/kotlin/rasel/lunar/launcher/home/LauncherHome.kt b/app/src/main/kotlin/rasel/lunar/launcher/home/LauncherHome.kt index 8ff6bc5..40e004d 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/home/LauncherHome.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/home/LauncherHome.kt @@ -84,10 +84,10 @@ import rasel.lunar.launcher.model.RssDataInterface import rasel.lunar.launcher.model.RssDataType import rasel.lunar.launcher.qaccess.QuickAccess import rasel.lunar.launcher.settings.SettingsActivity -import rasel.lunar.launcher.todos.MissedCallsAdapter -import rasel.lunar.launcher.todos.NotificationItemAdapter -import rasel.lunar.launcher.todos.RssItemAdapter -import rasel.lunar.launcher.todos.SmsLogsAdapter +import rasel.lunar.launcher.home.adapters.RecentCallsAdapter +import rasel.lunar.launcher.home.adapters.NotificationItemAdapter +import rasel.lunar.launcher.home.adapters.RssItemAdapter +import rasel.lunar.launcher.home.adapters.SmsLogsAdapter import rasel.lunar.launcher.utils.BLog import rasel.lunar.launcher.utils.BitmapConverter import rasel.lunar.launcher.utils.JamoUtils @@ -164,7 +164,7 @@ internal class LauncherHome : Fragment() { fragManager = lActivity!!.supportFragmentManager settingsPrefs = requireContext().getSharedPreferences(PREFS_SETTINGS, 0) batteryReceiver = BatteryReceiver(binding.batteryProgress) - mMissedCallsAdapter = MissedCallsAdapter(callList, requireContext()) + mRecentCallsAdapter = RecentCallsAdapter(callList, requireContext()) mSmsLogsAdapter = SmsLogsAdapter(smsList, requireContext()) mNotiAdapter = NotificationItemAdapter(requireContext()) mRssAdapter = RssItemAdapter(requireContext()) @@ -182,7 +182,7 @@ internal class LauncherHome : Fragment() { binding.smsList.layoutManager = GridLayoutManager(requireContext(),2) binding.infoList.layoutManager = LinearLayoutManager(requireContext()) - binding.mainList.adapter = mMissedCallsAdapter + binding.mainList.adapter = mRecentCallsAdapter binding.smsList.adapter = mSmsLogsAdapter binding.infoList.adapter = mRssAdapter binding.notiList.adapter = mNotiAdapter @@ -452,7 +452,7 @@ internal class LauncherHome : Fragment() { var infosJob : Job? = null var noticeJob : Job? = null - lateinit var mMissedCallsAdapter : MissedCallsAdapter + lateinit var mRecentCallsAdapter : RecentCallsAdapter lateinit var mSmsLogsAdapter : SmsLogsAdapter lateinit var mRssAdapter : RssItemAdapter lateinit var mNotiAdapter : NotificationItemAdapter @@ -638,7 +638,7 @@ internal class LauncherHome : Fragment() { callList.addAll(copyFromRealm(result)) binding.missedCalls.text = "최근 통화 [${callList.size}]" binding.mainList.visibility = View.VISIBLE - mMissedCallsAdapter.updateData(callList) + mRecentCallsAdapter.updateData(callList) binding.recentSms.isSelected = false binding.otherCheck.isSelected = false binding.notice.isSelected = false diff --git a/app/src/main/kotlin/rasel/lunar/launcher/todos/LinearLayoutManagerWrapper.kt b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/LinearLayoutManagerWrapper.kt similarity index 93% rename from app/src/main/kotlin/rasel/lunar/launcher/todos/LinearLayoutManagerWrapper.kt rename to app/src/main/kotlin/rasel/lunar/launcher/home/adapters/LinearLayoutManagerWrapper.kt index 31a6c42..72dd5a4 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/todos/LinearLayoutManagerWrapper.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/LinearLayoutManagerWrapper.kt @@ -1,4 +1,4 @@ -package rasel.lunar.launcher.todos +package rasel.lunar.launcher.home.adapters import android.content.Context import android.util.AttributeSet diff --git a/app/src/main/kotlin/rasel/lunar/launcher/todos/NotificationItemAdapter.kt b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/NotificationItemAdapter.kt similarity index 99% rename from app/src/main/kotlin/rasel/lunar/launcher/todos/NotificationItemAdapter.kt rename to app/src/main/kotlin/rasel/lunar/launcher/home/adapters/NotificationItemAdapter.kt index c45a1f1..d0e5f3c 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/todos/NotificationItemAdapter.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/NotificationItemAdapter.kt @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package rasel.lunar.launcher.todos +package rasel.lunar.launcher.home.adapters import android.annotation.SuppressLint import android.content.Context diff --git a/app/src/main/kotlin/rasel/lunar/launcher/todos/MissedCallsAdapter.kt b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RecentCallsAdapter.kt similarity index 92% rename from app/src/main/kotlin/rasel/lunar/launcher/todos/MissedCallsAdapter.kt rename to app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RecentCallsAdapter.kt index c215d3b..1546b03 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/todos/MissedCallsAdapter.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RecentCallsAdapter.kt @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package rasel.lunar.launcher.todos +package rasel.lunar.launcher.home.adapters import android.annotation.SuppressLint import android.content.Context @@ -35,15 +35,15 @@ import rasel.lunar.launcher.utils.getContactId import rasel.lunar.launcher.workers.RecentCall -internal class MissedCallsAdapter( +internal class RecentCallsAdapter( private val callList: ArrayList, - private val context: Context) : RecyclerView.Adapter() { + private val context: Context) : RecyclerView.Adapter() { private val currentFragment = lActivity!!.supportFragmentManager.findFragmentById(R.id.mainFragmentsContainer) - override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): MissedCallsHolder { + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): RecentCallsHolder { val binding = CalllogItemBinding.inflate(LayoutInflater.from(viewGroup.context), viewGroup, false) - return MissedCallsHolder(binding) + return RecentCallsHolder(binding) } override fun getItemCount(): Int { @@ -52,7 +52,7 @@ internal class MissedCallsAdapter( } @SuppressLint("SetTextI18n") - override fun onBindViewHolder(holder: MissedCallsHolder, position: Int) { + override fun onBindViewHolder(holder: RecentCallsHolder, position: Int) { val todo = callList[position] holder.view.name.text = if(todo.name.equals("unknown")) todo.number else { todo.name} @@ -90,7 +90,7 @@ internal class MissedCallsAdapter( } - inner class MissedCallsHolder(var view: CalllogItemBinding) : RecyclerView.ViewHolder(view.root) + inner class RecentCallsHolder(var view: CalllogItemBinding) : RecyclerView.ViewHolder(view.root) /* update dialog */ private fun updateDialog(position: Int) { @@ -130,7 +130,7 @@ internal class MissedCallsAdapter( } fun updateData(newList: ArrayList) { - val diffUtilResult = DiffUtil.calculateDiff(MissedCallDiffUtil(callList, newList)) + val diffUtilResult = DiffUtil.calculateDiff(RecentCallDiffUtil(callList, newList)) diffUtilResult.dispatchUpdatesTo(this) // callList.clear() // callList.addAll(newList) @@ -138,7 +138,7 @@ internal class MissedCallsAdapter( } -internal class MissedCallDiffUtil( +internal class RecentCallDiffUtil( private val oldList: List, private val newList: List ) : DiffUtil.Callback() { diff --git a/app/src/main/kotlin/rasel/lunar/launcher/todos/RssFeedsParser.kt b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RssFeedsParser.kt similarity index 83% rename from app/src/main/kotlin/rasel/lunar/launcher/todos/RssFeedsParser.kt rename to app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RssFeedsParser.kt index 5858113..dda2a0e 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/todos/RssFeedsParser.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RssFeedsParser.kt @@ -1,13 +1,12 @@ -package rasel.lunar.launcher.todos +package rasel.lunar.launcher.home.adapters import android.util.Xml import com.google.gson.Gson import org.xmlpull.v1.XmlPullParser import org.xmlpull.v1.XmlPullParserException import rasel.lunar.launcher.model.RssDataInterface -import rasel.lunar.launcher.model.RssDataType +import rasel.lunar.launcher.model.NewsData import rasel.lunar.launcher.model.others.Reddit -import rasel.lunar.launcher.utils.JamoUtils import rasel.lunar.launcher.utils.beforeDay import java.io.IOException import java.io.InputStream @@ -74,7 +73,7 @@ object RssFeedsParser { } @Throws(XmlPullParserException::class, IOException::class) - private fun readFeed(parser: XmlPullParser): List { + private fun readFeed(parser: XmlPullParser): List { parser.require(XmlPullParser.START_TAG, null, "rss") var title: String? = null @@ -82,7 +81,7 @@ object RssFeedsParser { var date = 0L var desc : String? = null var source : String? = null - val items: MutableList = ArrayList() + val items: MutableList = ArrayList() while (parser.next() != XmlPullParser.END_DOCUMENT) { if (parser.eventType != XmlPullParser.START_TAG) { @@ -107,7 +106,7 @@ object RssFeedsParser { } if (date > limitDateTime && title != null && link != null) { - val item = RssFeed(title, link) + val item = NewsData(title, link) item.pubDate = date item.source = source item.description = desc @@ -174,44 +173,3 @@ object RssFeedsParser { } } -class RssFeed : RssDataInterface { - - var title : String? = "" - var link : String? = "" - var guid : String? = "" - var description : String? = "" - var pubDate : Long = 0L - var source : String? = "" - - constructor(title: String?,link: String?) { - this.link = link - this.title = title - } - - override fun title(): String { - return title ?: "" - } - - override fun thumbnailUrl(): String { - return source ?: "" - } - - override fun originPage(): String { - return link ?: "" - } - - override fun description(): String { - return description ?: "" - } - - override fun pubDate(): Long { - return pubDate - } - - override fun category(): RssDataType { - return RssDataType.NewsFeed - } - override fun getCho(): String? { - return JamoUtils.split(title()).joinToString("") - } -} \ No newline at end of file diff --git a/app/src/main/kotlin/rasel/lunar/launcher/todos/RssItemAdapter.kt b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RssItemAdapter.kt similarity index 99% rename from app/src/main/kotlin/rasel/lunar/launcher/todos/RssItemAdapter.kt rename to app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RssItemAdapter.kt index 3c2611f..19116c6 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/todos/RssItemAdapter.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RssItemAdapter.kt @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package rasel.lunar.launcher.todos +package rasel.lunar.launcher.home.adapters import android.annotation.SuppressLint import android.content.Context diff --git a/app/src/main/kotlin/rasel/lunar/launcher/todos/RssTagAdapter.kt b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RssTagAdapter.kt similarity index 94% rename from app/src/main/kotlin/rasel/lunar/launcher/todos/RssTagAdapter.kt rename to app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RssTagAdapter.kt index 9bf7016..ad9e679 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/todos/RssTagAdapter.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/RssTagAdapter.kt @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package rasel.lunar.launcher.todos +package rasel.lunar.launcher.home.adapters import android.annotation.SuppressLint import android.content.Context @@ -28,10 +28,10 @@ import com.google.gson.Gson import rasel.lunar.launcher.LauncherActivity.Companion.lActivity import rasel.lunar.launcher.R import rasel.lunar.launcher.databinding.ListItemBinding -import rasel.lunar.launcher.model.RssTagItem +import rasel.lunar.launcher.model.jGuruTag internal class RssTagAdapter( - private val smsList: ArrayList, + private val smsList: ArrayList, private val context: Context) : RecyclerView.Adapter() { private val currentFragment = lActivity!!.supportFragmentManager.findFragmentById(R.id.mainFragmentsContainer) @@ -64,7 +64,7 @@ internal class RssTagAdapter( inner class RssTag(var view: ListItemBinding) : RecyclerView.ViewHolder(view.root) - fun updateData(newList: List) { + fun updateData(newList: List) { val diffUtilResult = DiffUtil.calculateDiff(RssTagDiffUtil(smsList, newList)) diffUtilResult.dispatchUpdatesTo(this) // smsList.clear() @@ -111,7 +111,7 @@ internal class RssTagAdapter( } internal class RssTagDiffUtil( - private val oldList: List, private val newList: List + private val oldList: List, private val newList: List ) : DiffUtil.Callback() { override fun getOldListSize(): Int = oldList.size diff --git a/app/src/main/kotlin/rasel/lunar/launcher/todos/SmsLogsAdapter.kt b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/SmsLogsAdapter.kt similarity index 99% rename from app/src/main/kotlin/rasel/lunar/launcher/todos/SmsLogsAdapter.kt rename to app/src/main/kotlin/rasel/lunar/launcher/home/adapters/SmsLogsAdapter.kt index 6d12c58..63656ba 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/todos/SmsLogsAdapter.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/home/adapters/SmsLogsAdapter.kt @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package rasel.lunar.launcher.todos +package rasel.lunar.launcher.home.adapters import android.annotation.SuppressLint import android.content.Context diff --git a/app/src/main/kotlin/rasel/lunar/launcher/model/Adults.kt b/app/src/main/kotlin/rasel/lunar/launcher/model/Adults.kt index adb3d20..6ffd566 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/model/Adults.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/model/Adults.kt @@ -42,7 +42,7 @@ class MissD : RssDataInterface { } } -class MostItem : RssItem , RssDataInterface { +class MostItem : JGuru , RssDataInterface { constructor() : super() @@ -74,7 +74,7 @@ class MostItem : RssItem , RssDataInterface { return JamoUtils.split(title!!).joinToString("") } } -open class RssItem : RssDataInterface { +open class JGuru : RssDataInterface { var model : String = "" var title : String = "" var pageLink : String = "" @@ -131,7 +131,7 @@ open class RssItem : RssDataInterface { } } -class RssTagItem : RssDataInterface { +class jGuruTag : RssDataInterface { var link : String = "" var tagTitle = "" var count = 0 diff --git a/app/src/main/kotlin/rasel/lunar/launcher/model/NewsData.kt b/app/src/main/kotlin/rasel/lunar/launcher/model/NewsData.kt new file mode 100644 index 0000000..572c43a --- /dev/null +++ b/app/src/main/kotlin/rasel/lunar/launcher/model/NewsData.kt @@ -0,0 +1,45 @@ +package rasel.lunar.launcher.model + +import rasel.lunar.launcher.utils.JamoUtils + +class NewsData : RssDataInterface { + + var title : String? = "" + var link : String? = "" + var guid : String? = "" + var description : String? = "" + var pubDate : Long = 0L + var source : String? = "" + + constructor(title: String?,link: String?) { + this.link = link + this.title = title + } + + override fun title(): String { + return title ?: "" + } + + override fun thumbnailUrl(): String { + return source ?: "" + } + + override fun originPage(): String { + return link ?: "" + } + + override fun description(): String { + return description ?: "" + } + + override fun pubDate(): Long { + return pubDate + } + + override fun category(): RssDataType { + return RssDataType.NewsFeed + } + override fun getCho(): String? { + return JamoUtils.split(title()).joinToString("") + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/rasel/lunar/launcher/model/others/Reddit.kt b/app/src/main/kotlin/rasel/lunar/launcher/model/others/Reddit.kt index ee25f23..756a607 100644 --- a/app/src/main/kotlin/rasel/lunar/launcher/model/others/Reddit.kt +++ b/app/src/main/kotlin/rasel/lunar/launcher/model/others/Reddit.kt @@ -2,8 +2,6 @@ package rasel.lunar.launcher.model.others import rasel.lunar.launcher.model.RssDataInterface import rasel.lunar.launcher.model.RssDataType -import rasel.lunar.launcher.todos.Image -import rasel.lunar.launcher.todos.Source import rasel.lunar.launcher.utils.JamoUtils diff --git a/app/src/main/kotlin/rasel/lunar/launcher/todos/DatabaseHandler.kt b/app/src/main/kotlin/rasel/lunar/launcher/todos/DatabaseHandler.kt deleted file mode 100644 index a27da8f..0000000 --- a/app/src/main/kotlin/rasel/lunar/launcher/todos/DatabaseHandler.kt +++ /dev/null @@ -1,107 +0,0 @@ -///* -// * Lunar Launcher -// * Copyright (C) 2022 Md Rasel Hossain -// * -// * This program is free software: you can redistribute it and/or modify -// * it under the terms of the GNU General Public License as published by -// * the Free Software Foundation, either version 3 of the License, or -// * (at your option) any later version. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have received a copy of the GNU General Public License -// * along with this program. If not, see . -// */ -// -//package rasel.lunar.launcher.todos -// -//import android.database.sqlite.SQLiteOpenHelper -//import android.database.sqlite.SQLiteDatabase -//import android.content.ContentValues -//import android.annotation.SuppressLint -//import android.content.Context -//import android.database.DatabaseUtils -//import rasel.lunar.launcher.helpers.Constants.Companion.TODO_COLUMN_CREATED -//import rasel.lunar.launcher.helpers.Constants.Companion.TODO_COLUMN_ID -//import rasel.lunar.launcher.helpers.Constants.Companion.TODO_COLUMN_NAME -//import rasel.lunar.launcher.helpers.Constants.Companion.TODO_DATABASE_NAME -//import rasel.lunar.launcher.helpers.Constants.Companion.TODO_DATABASE_VERSION -//import rasel.lunar.launcher.helpers.Constants.Companion.TODO_TABLE_NAME -//import java.util.ArrayList -// -// -//internal class DatabaseHandler(context: Context?) : -// SQLiteOpenHelper(context, TODO_DATABASE_NAME, null, TODO_DATABASE_VERSION) { -// -// /* create database */ -// override fun onCreate(database: SQLiteDatabase) { -// val createTodoTable = "CREATE TABLE " + TODO_TABLE_NAME + " (" + -// TODO_COLUMN_ID + " integer PRIMARY KEY AUTOINCREMENT," + -// TODO_COLUMN_CREATED + " datetime DEFAULT CURRENT_TIMESTAMP," + -// TODO_COLUMN_NAME + " varchar)" -// database.execSQL(createTodoTable) -// } -// -// override fun onUpgrade(sqLiteDatabase: SQLiteDatabase, i: Int, i1: Int) {} -// -// /* add new to-do entry */ -// fun addTodo(todo: Todo) { -// val database = writableDatabase -// val contentValues = ContentValues() -// contentValues.put(TODO_COLUMN_NAME, todo.name) -// database.insert(TODO_TABLE_NAME, null, contentValues) -// } -// -// /* update or edit existing to-do */ -// fun updateTodo(todo: Todo) { -// val database = writableDatabase -// val contentValues = ContentValues() -// contentValues.put(TODO_COLUMN_NAME, todo.name) -// database.update( -// TODO_TABLE_NAME, -// contentValues, -// "$TODO_COLUMN_ID=?", -// arrayOf(todo.id.toString()) -// ) -// } -// -// /* delete a single to-do */ -// fun deleteTodo(todoId: Long) { -// writableDatabase.delete(TODO_TABLE_NAME, -// "$TODO_COLUMN_ID=?", arrayOf(todoId.toString())) -// } -// -// /* delete all existing todos at once */ -// fun deleteAll() { -// writableDatabase.delete(TODO_TABLE_NAME, null, null) -// } -// -// @get:SuppressLint("Range") -// val todos: ArrayList -// get() { -// val todoList = ArrayList() -//// val queryResult = -//// readableDatabase.rawQuery("SELECT * from $TODO_TABLE_NAME", null) -//// -//// if (queryResult.moveToFirst()) { -//// do { -//// val todo = Todo() -//// todo.id = queryResult.getLong(queryResult.getColumnIndex(TODO_COLUMN_ID)) -//// todo.name = queryResult.getString(queryResult.getColumnIndex(TODO_COLUMN_NAME)) -//// todoList.add(todo) -//// } while (queryResult.moveToNext()) -//// } -//// -//// queryResult.close() -// return todoList -// } -// -// /* check if any item exists in the database */ -// val isTodoExists: Boolean get() { -// return DatabaseUtils.queryNumEntries(readableDatabase, TODO_TABLE_NAME, 1.toString()) > 0 -// } -// -//} diff --git a/app/src/main/kotlin/rasel/lunar/launcher/todos/YoutubeData.kt b/app/src/main/kotlin/rasel/lunar/launcher/todos/YoutubeData.kt deleted file mode 100644 index f8f4fb6..0000000 --- a/app/src/main/kotlin/rasel/lunar/launcher/todos/YoutubeData.kt +++ /dev/null @@ -1,1758 +0,0 @@ -package rasel.lunar.launcher.todos - -import org.json.JSONObject -import rasel.lunar.launcher.model.RssDataInterface -import rasel.lunar.launcher.model.RssDataType -import rasel.lunar.launcher.model.others.YTBImage -import rasel.lunar.launcher.model.others.YTBSource -import rasel.lunar.launcher.utils.JamoUtils -import rasel.lunar.launcher.utils.afterDay -import rasel.lunar.launcher.utils.beforeDay -import java.util.Date - - -// import com.fasterxml.jackson.databind.ObjectMapper; // version 2.11.1 -// import com.fasterxml.jackson.annotation.JsonProperty; // version 2.11.1 -/* ObjectMapper om = new ObjectMapper(); -Root root = om.readValue(myJsonString, Root.class); */ -class A11ySkipNavigationButton { - var buttonRenderer: ButtonRenderer? = null -} - -class Accessibility { - var accessibilityData: AccessibilityData? = null - var label: String? = null -} - -class AccessibilityContext { - var label: String? = null -} - -class AccessibilityData { - var label: String? = null - var accessibilityData: AccessibilityData? = null - var publishedTimeText : PublishedTimeText? = null -} - -class Action { - var clickTrackingParams: String? = null - var addToPlaylistCommand: AddToPlaylistCommand? = null - var action: String? = null - var removedVideoId: String? = null - var openPopupAction: OpenPopupAction? = null - var subscribeButtonViewModel: SubscribeButtonViewModel? = null - var buttonViewModel: ButtonViewModel? = null - var signalAction: SignalAction? = null - var addedVideoId: String? = null - var flexibleActionsViewModel: FlexibleActionsViewModel? = null -} - -class ActionsRow { - var actions: ArrayList? = null -} - -class AdditionalData { - var userFeedbackEndpointProductSpecificValueData: UserFeedbackEndpointProductSpecificValueData? = - null -} - -class AddToPlaylistCommand { - var openMiniplayer: Boolean = false - var videoId: String? = null - var listType: String? = null - var onCreateListCommand: OnCreateListCommand? = null - var videoIds: ArrayList? = null -} - -class AddToPlaylistServiceEndpoint { - var videoId: String? = null -} - -class AttachmentRun { - var startIndex: Int = 0 - var length: Int = 0 - var element: Element? = null - var alignment: String? = null -} - -class Attribution { - var attributionViewModel: AttributionViewModel? = null -} - -class AttributionViewModel { - var text: Text? = null - var suffix: Suffix? = null - var rendererContext: RendererContext? = null -} - -class Avatar { - var decoratedAvatarViewModel: DecoratedAvatarViewModel? = null - var avatarViewModel: AvatarViewModel? = null - var thumbnails: ArrayList? = null - var accessibility: Accessibility? = null -} - -class AvatarViewModel { - var YTBImage: YTBImage? = null - var avatarImageSize: String? = null - var loggingDirectives: LoggingDirectives? = null -} - -class BackButton { - var buttonRenderer: ButtonRenderer? = null -} - -class Badge { - var metadataBadgeRenderer: MetadataBadgeRenderer? = null -} - -class Banner { - var imageBannerViewModel: ImageBannerViewModel? = null -} - -class BellAccessibilityData { - var offLabel: String? = null - var allLabel: String? = null - var occasionalLabel: String? = null - var disabledLabel: String? = null -} - -class BorderImageProcessor { - var circular: Boolean = false -} - -class BrowseEndpoint { - var browseId: String? = null - var params: String? = null - var canonicalBaseUrl: String? = null -} - -class Button { - var menuRenderer: MenuRenderer? = null -} - -class ButtonRenderer { - var style: String? = null - var size: String? = null - var isDisabled: Boolean = false - var icon: Icon? = null - var accessibility: Accessibility? = null - var trackingParams: String? = null - var accessibilityData: AccessibilityData? = null - var command: Command? = null - var text: Text? = null - var serviceEndpoint: ServiceEndpoint? = null - var tooltip: String? = null - var navigationEndpoint: NavigationEndpoint? = null -} - -class ButtonStyle { - var unsubscribedStateStyle: String? = null - var subscribedStateStyle: String? = null - var buttonSize: String? = null -} - -class ButtonText { - var runs: ArrayList? = null -} - -class ButtonViewModel { - var title: String? = null - var onTap: OnTap? = null - var accessibilityText: String? = null - var style: String? = null - var trackingParams: String? = null - var isFullWidth: Boolean = false - var type: String? = null - var buttonSize: String? = null - var state: String? = null - var onVisible: OnVisible? = null - var targetId: String? = null - var loggingDirectives: LoggingDirectives? = null -} - -class CancelButton { - var buttonRenderer: ButtonRenderer? = null -} - -class ChangeEngagementPanelVisibilityAction { - var targetId: String? = null - var visibility: String? = null -} - -class ChannelFeaturedContentRenderer { - var title: Title? = null - var items: ArrayList? = null -} - -class ChannelMetadataRenderer { - var title: String? = null - var description: String? = null - var rssUrl: String? = null - var channelConversionUrl: String? = null - var externalId: String? = null - var keywords: String? = null - var ownerUrls: ArrayList? = null - var avatar: Avatar? = null - var channelUrl: String? = null - var isFamilySafe: Boolean = false - var availableCountryCodes: ArrayList? = null - var androidDeepLink: String? = null - var androidAppindexingLink: String? = null - var iosAppindexingLink: String? = null - var vanityChannelUrl: String? = null -} - -class ChannelThumbnailSupportedRenderers { - var channelThumbnailWithLinkRenderer: ChannelThumbnailWithLinkRenderer? = null -} - -class ChannelThumbnailWithLinkRenderer { - var thumbnail: Thumbnail? = null - var navigationEndpoint: NavigationEndpoint? = null - var accessibility: Accessibility? = null -} - -class ClearButton { - var buttonRenderer: ButtonRenderer? = null -} - -class ClientResource { - var imageName: String? = null -} - -class ClientVeSpec { - var uiType: Int = 0 - var veCounter: Int = 0 -} - -class ColorMap { - var key: String? = null - var value: Any? = null -} - -class Command { - var clickTrackingParams: String? = null - var openPopupAction: OpenPopupAction? = null - var commandMetadata: CommandMetadata? = null - var ypcGetOffersEndpoint: YpcGetOffersEndpoint? = null - var logFlowLoggingEventCommand: LogFlowLoggingEventCommand? = null -} - -class Command10 { - var clickTrackingParams: String? = null - var commandMetadata: CommandMetadata? = null - var signalServiceEndpoint: SignalServiceEndpoint? = null - var changeEngagementPanelVisibilityAction: ChangeEngagementPanelVisibilityAction? = null -} - -class CommandContext { - var onTap: OnTap? = null -} - -class CommandExecutorCommand { - var commands: ArrayList? = null -} - -class CommandMetadata { - var webCommandMetadata: WebCommandMetadata? = null -} - -class CommandRun { - var startIndex: Int = 0 - var length: Int = 0 - var onTap: OnTap? = null -} - -class CommonConfig { - var url: String? = null -} - -class CompactLinkRenderer { - var icon: Icon? = null - var title: Title? = null - var navigationEndpoint: NavigationEndpoint? = null - var trackingParams: String? = null - var style: String? = null -} - -class Config { - var webSearchboxConfig: WebSearchboxConfig? = null -} - -class ConfirmButton { - var buttonRenderer: ButtonRenderer? = null -} - -class ConfirmDialogRenderer { - var trackingParams: String? = null - var dialogMessages: ArrayList? = null - var confirmButton: ConfirmButton? = null - var cancelButton: CancelButton? = null - var primaryIsCancel: Boolean = false -} - -class ConnectionErrorHeader { - var runs: ArrayList? = null -} - -class ConnectionErrorMicrophoneLabel { - var runs: ArrayList? = null -} - -class Content : Content14() { - var sectionListRenderer: SectionListRenderer? = null - var horizontalListRenderer: HorizontalListRenderer? = null - var pageHeaderViewModel: PageHeaderViewModel? = null - var verticalListRenderer: HorizontalListRenderer? = null - var listViewModel: ListViewModel? = null -} - -open class Content14 { - var itemSectionRenderer: ItemSectionRenderer? = null - var continuationItemRenderer: ContinuationItemRenderer? = null - var channelFeaturedContentRenderer: ChannelFeaturedContentRenderer? = null - var shelfRenderer: ShelfRenderer? = null - var reelShelfRenderer: ReelShelfRenderer? = null - var twoColumnBrowseResultsRenderer: TwoColumnBrowseResultsRenderer? = null - var singleColumnBrowseResultsRenderer : TwoColumnBrowseResultsRenderer? = null -} - -class ContentMetadataViewModel { - var metadataRows: ArrayList? = null - var delimiter: String? = null - var rendererContext: RendererContext? = null -} - -class ContinuationCommand { - var token: String? = null - var request: String? = null -} - -class ContinuationEndpoint { - var clickTrackingParams: String? = null - var commandMetadata: CommandMetadata? = null - var continuationCommand: ContinuationCommand? = null -} - -class ContinuationItemRenderer { - var trigger: String? = null - var continuationEndpoint: ContinuationEndpoint? = null -} - -class CreatePlaylistServiceEndpoint { - var videoIds: ArrayList? = null - var params: String? = null -} - -class DecoratedAvatarViewModel { - var avatar: Avatar? = null - var a11yLabel: String? = null - var rendererContext: RendererContext? = null -} - -class Description { - var descriptionPreviewViewModel: DescriptionPreviewViewModel? = null - var content: String? = null -} - -class DescriptionPreviewViewModel { - var description: Description? = null - var maxLines: Int = 0 - var truncationText: TruncationText? = null - var alwaysShowTruncationText: Boolean = false - var rendererContext: RendererContext? = null -} - -class DescriptionSnippet { - var runs: ArrayList? = null -} - -class DesktopTopbarRenderer { - var logo: Logo? = null - var searchbox: Searchbox? = null - var trackingParams: String? = null - var countryCode: String? = null - var topbarButtons: ArrayList? = null - var hotkeyDialog: HotkeyDialog? = null - var backButton: BackButton? = null - var forwardButton: ForwardButton? = null - var a11ySkipNavigationButton: A11ySkipNavigationButton? = null - var voiceSearchButton: VoiceSearchButton? = null -} - -class DialogMessage { - var runs: ArrayList? = null -} - -class DisabledHeader { - var runs: ArrayList? = null -} - -class DisabledSubtext { - var runs: ArrayList? = null -} - -class DismissButton { - var buttonRenderer: ButtonRenderer? = null -} - -class DynamicTextViewModel { - var text: Text? = null - var maxLines: Int = 0 - var rendererContext: RendererContext? = null -} - -class Element { - var type: Type? = null - var properties: Properties? = null -} - -class Endpoint { - var clickTrackingParams: String? = null - var commandMetadata: CommandMetadata? = null - var browseEndpoint: BrowseEndpoint? = null - var showEngagementPanelEndpoint: ShowEngagementPanelEndpoint? = null -} - -class EngagementPanel { - var engagementPanelSectionListRenderer: EngagementPanelSectionListRenderer? = null -} - -class EngagementPanelPopupPresentationConfig { - var popupType: String? = null -} - -class EngagementPanelPresentationConfigs { - var engagementPanelPopupPresentationConfig: EngagementPanelPopupPresentationConfig? = null -} - -class EngagementPanelSectionListRenderer { - var header: Header? = null - var content: Content? = null - var targetId: String? = null - var identifier: Identifier? = null - var size: String? = null -} - -class EngagementPanelTitleHeaderRenderer { - var title: Title? = null - var visibilityButton: VisibilityButton? = null - var trackingParams: String? = null -} - -class EntityBatchUpdate { - var mutations: ArrayList? = null - var timestamp: Timestamp? = null -} - -class ExampleQuery1 { - var runs: ArrayList? = null -} - -class ExampleQuery2 { - var runs: ArrayList? = null -} - -class ExitButton { - var buttonRenderer: ButtonRenderer? = null -} - -class ExpandableTabRenderer { - var endpoint: Endpoint? = null - var title: String? = null - var selected: Boolean = false -} - -class FlexibleActionsViewModel { - var actionsRows: ArrayList? = null - var minimumRowHeight: Int = 0 - var rendererContext: RendererContext? = null -} - -class FlowEventMetadata { - var sponsorshipsPurchaseContext: SponsorshipsPurchaseContext? = null -} - -class ForwardButton { - var buttonRenderer: ButtonRenderer? = null -} - -class FrameworkUpdates { - var entityBatchUpdate: EntityBatchUpdate? = null -} - -class FusionSearchboxRenderer { - var icon: Icon? = null - var placeholderText: PlaceholderText? = null - var config: Config? = null - var trackingParams: String? = null - var searchEndpoint: SearchEndpoint? = null - var clearButton: ClearButton? = null -} - -class GetDownloadActionCommand { - var videoId: String? = null - var params: String? = null -} - -class GridChannelRenderer { - var channelId: String? = null - var thumbnail: Thumbnail? = null - var videoCountText: VideoCountText? = null - var subscriberCountText: SubscriberCountText? = null - var navigationEndpoint: NavigationEndpoint? = null - var title: Title? = null - var subscribeButton: SubscribeButton? = null - var trackingParams: String? = null -} - -class GridVideoRenderer : VideoRenderer() { - // var videoId: String? = null -// var thumbnail: Thumbnail? = null -// var title: Title? = null -// var publishedTimeText: PublishedTimeText? = null -// var navigationEndpoint: NavigationEndpoint? = null - var badges: ArrayList? = null - // var ownerBadges: ArrayList? = null -// var trackingParams: String? = null -// var menu: Menu? = null -// var thumbnailOverlays: ArrayList? = null -// var viewCountText: ViewCountText? = null -// var shortViewCountText: ShortViewCountText? = null - var richThumbnail: RichThumbnail? = null -// var shortBylineText: ShortBylineText? = null -} - -class Header { - var engagementPanelTitleHeaderRenderer: EngagementPanelTitleHeaderRenderer? = null - var pageHeaderRenderer: PageHeaderRenderer? = null -} - -class Headline { - var simpleText: String? = null -} - -class Height { - var value: Int = 0 - var unit: String? = null -} - -class HorizontalListRenderer { - var items: ArrayList? = null - var trackingParams: String? = null - var visibleItemCount: Int = 0 - var nextButton: NextButton? = null - var previousButton: PreviousButton? = null - var collapsedItemCount: Int = 0 - var itemSizeConstraint: String? = null -} - -class HotkeyAccessibilityLabel { - var accessibilityData: AccessibilityData? = null -} - -class HotkeyDialog { - var hotkeyDialogRenderer: HotkeyDialogRenderer? = null -} - -class HotkeyDialogRenderer { - var title: Title? = null - var sections: ArrayList
? = null - var dismissButton: DismissButton? = null - var trackingParams: String? = null -} - -class HotkeyDialogSectionOptionRenderer { - var label: Label? = null - var hotkey: String? = null - var hotkeyAccessibilityLabel: HotkeyAccessibilityLabel? = null -} - -class HotkeyDialogSectionRenderer { - var title: Title? = null - var options: ArrayList