Rename package names to org.fossify.*

This commit is contained in:
Naveen Singh
2024-07-25 13:45:48 +05:30
parent f99770492d
commit 3becd23f25
192 changed files with 1165 additions and 1309 deletions

View File

@@ -1,4 +1,5 @@
# Simple Launcher
# Fossify Launcher
<img alt="Logo" src="graphics/icon.png" width="120" />
Launch your favorite apps quickly. This app gives you the possibility to customize your home screen as you wish for the best user experience.

View File

@@ -1,6 +1,6 @@
import java.io.FileInputStream
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.konan.properties.Properties
import java.io.FileInputStream
plugins {
alias(libs.plugins.android)
@@ -102,7 +102,7 @@ detekt {
}
dependencies {
implementation(libs.simple.tools.commons)
implementation(libs.fossify.commons)
implementation(libs.bundles.room)
ksp(libs.androidx.room.compiler)

View File

@@ -1,254 +1,464 @@
<?xml version="1.0" ?>
<SmellBaseline>
<ManuallySuppressedIssues></ManuallySuppressedIssues>
<CurrentIssues>
<ID>ComplexCondition:HomeScreenGrid.kt$AnimatedGridPager$currentPage &lt; getMaxPage() &amp;&amp; diffX &gt; 0f || currentPage &gt; 0 &amp;&amp; diffX &lt; 0f</ID>
<ID>ComplexCondition:HomeScreenGrid.kt$HomeScreenGrid$item.page != 0 &amp;&amp; gridItems.none { it.page == item.page &amp;&amp; it.id != item.id &amp;&amp; it.parentId == null }</ID>
<ID>ComplexCondition:HomeScreenGrid.kt$HomeScreenGrid$newParentId != null &amp;&amp; gridItems.any { it.parentId == newParentId &amp;&amp; it.left == left } &amp;&amp; (newParentId != oldParentId || left != oldLeft)</ID>
<ID>ComplexCondition:HomeScreenGrid.kt$HomeScreenGrid$x &gt;= left &amp;&amp; x &lt;= right &amp;&amp; y &gt;= top &amp;&amp; y &lt;= bottom</ID>
<ID>ComplexCondition:HomeScreenGrid.kt$HomeScreenGrid$x &gt;= rect.left &amp;&amp; x &lt;= rect.right &amp;&amp; y &gt;= rect.top &amp;&amp; y &lt;= rect.bottom</ID>
<ID>CyclomaticComplexMethod:Activity.kt$fun Activity.handleGridItemPopupMenu(anchorView: View, gridItem: HomeScreenGridItem, isOnAllAppsFragment: Boolean, listener: ItemMenuListener): PopupMenu</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$fun draggedItemMoved(x: Int, y: Int)</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$fun drawInto(canvas: Canvas)</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$fun isClickingGridItem(x: Int, y: Int): HomeScreenGridItem?</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut( draggedHomeGridItem: HomeScreenGridItem?, xIndex: Int, yIndex: Int, newParentId: Long? = null, toFolderEnd: Boolean = true )</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut()</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addWidget()</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun moveItem()</ID>
<ID>CyclomaticComplexMethod:MainActivity.kt$MainActivity$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>CyclomaticComplexMethod:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>EmptyCatchBlock:Context.kt${ }</ID>
<ID>EmptyCatchBlock:MainActivity.kt$MainActivity${ }</ID>
<ID>EmptyCatchBlock:WidgetsFragment.kt$WidgetsFragment${ }</ID>
<ID>EmptyFunctionBlock:FolderIconsAdapter.kt$FolderIconsAdapter${}</ID>
<ID>EmptyFunctionBlock:HiddenIconsAdapter.kt$HiddenIconsAdapter${}</ID>
<ID>LargeClass:HomeScreenGrid.kt$HomeScreenGrid : RelativeLayout</ID>
<ID>LargeClass:MainActivity.kt$MainActivity : SimpleActivityFlingListener</ID>
<ID>LongMethod:Activity.kt$fun Activity.handleGridItemPopupMenu(anchorView: View, gridItem: HomeScreenGridItem, isOnAllAppsFragment: Boolean, listener: ItemMenuListener): PopupMenu</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$fun draggedItemMoved(x: Int, y: Int)</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$fun drawInto(canvas: Canvas)</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut( draggedHomeGridItem: HomeScreenGridItem?, xIndex: Int, yIndex: Int, newParentId: Long? = null, toFolderEnd: Boolean = true )</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut()</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addWidget()</ID>
<ID>LongMethod:MainActivity.kt$MainActivity$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>LongMethod:MainActivity.kt$MainActivity$private fun getDefaultAppPackages(appLaunchers: ArrayList&lt;AppLauncher&gt;)</ID>
<ID>LongMethod:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>LongParameterList:HomeScreenGrid.kt$AnimatedGridPager$( private val getMaxPage: () -&gt; Int, private val redrawGrid: () -&gt; Unit, private val getWidth: () -&gt; Int, private val getHandler: () -&gt; Handler, private val getNextPageBound: () -&gt; Int, private val getPrevPageBound: () -&gt; Int, private val pageChangeStarted: () -&gt; Unit )</ID>
<ID>LongParameterList:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$(left: Int, top: Int, right: Int, bottom: Int, page: Int, docked: Boolean, parentId: Long?, id: Long)</ID>
<ID>LongParameterList:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$( coords: Rect, cellWidth: Int, cellHeight: Int, sideMargins: Rect, gridItem: HomeScreenGridItem, allGridItems: ArrayList&lt;HomeScreenGridItem&gt; )</ID>
<ID>LoopWithTooManyJumpStatements:MainActivity.kt$MainActivity$for</ID>
<ID>MagicNumber:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$3</ID>
<ID>MagicNumber:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$4</ID>
<ID>MagicNumber:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$5</ID>
<ID>MagicNumber:Context.kt$30</ID>
<ID>MagicNumber:Context.kt$70.0</ID>
<ID>MagicNumber:Converters.kt$Converters$100</ID>
<ID>MagicNumber:HiddenIconsAdapter.kt$HiddenIconsAdapter$0.1f</ID>
<ID>MagicNumber:HiddenIconsAdapter.kt$HiddenIconsAdapter$150</ID>
<ID>MagicNumber:HomeScreenGrid.kt$AnimatedGridPager$0.5f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$AnimatedGridPager$255</ID>
<ID>MagicNumber:HomeScreenGrid.kt$AnimatedGridPager$255.0f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid$1.2f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid$1.5f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid$3f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid$5</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$0.2f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$3</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$5f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder.&lt;no name provided&gt;$0.2f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenGridTouchHelper$100</ID>
<ID>MagicNumber:LaunchersAdapter.kt$LaunchersAdapter$0.1f</ID>
<ID>MagicNumber:LaunchersAdapter.kt$LaunchersAdapter.ViewHolder$150</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity$0.5</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity$2000</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity$3</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity$4</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity.MyGestureListener$500L</ID>
<ID>MagicNumber:MyAppWidgetHostView.kt$MyAppWidgetHostView$4</ID>
<ID>MagicNumber:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$3</ID>
<ID>MagicNumber:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$4</ID>
<ID>MagicNumber:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$5</ID>
<ID>MaxLineLength:Activity.kt$LauncherApps.ShortcutQuery.FLAG_MATCH_DYNAMIC or LauncherApps.ShortcutQuery.FLAG_MATCH_MANIFEST or LauncherApps.ShortcutQuery.FLAG_MATCH_PINNED</ID>
<ID>MaxLineLength:Activity.kt$fun</ID>
<ID>MaxLineLength:Activity.kt$launcherApps.getShortcutIconDrawable(it, resources.displayMetrics.densityDpi).toBitmap(width = iconSize, height = iconSize)</ID>
<ID>MaxLineLength:Activity.kt$menu.findItem(R.id.rename).isVisible = (gridItem.type == ITEM_TYPE_ICON || gridItem.type == ITEM_TYPE_FOLDER) &amp;&amp; !isOnAllAppsFragment</ID>
<ID>MaxLineLength:Activity.kt$menu.findItem(R.id.uninstall).isVisible = gridItem.type == ITEM_TYPE_ICON &amp;&amp; canAppBeUninstalled(gridItem.packageName)</ID>
<ID>MaxLineLength:AllAppsFragment.kt$AllAppsFragment$// some devices ACTION_MOVE keeps triggering for the whole long press duration, but we are interested in real moves only, when coords change</ID>
<ID>MaxLineLength:AllAppsFragment.kt$AllAppsFragment$binding.allAppsGrid.setPadding(0, 0, resources.getDimension(com.simplemobiletools.commons.R.dimen.medium_margin).toInt(), bottomListPadding)</ID>
<ID>MaxLineLength:AllAppsFragment.kt$AllAppsFragment$class</ID>
<ID>MaxLineLength:AppLauncher.kt$AppLauncher$@ColumnInfo(name = "activity_name") var activityName: String</ID>
<ID>MaxLineLength:AppLauncher.kt$AppLauncher$sorting and SORT_BY_TITLE != 0 -&gt; title.normalizeString().lowercase().compareTo(other.title.normalizeString().lowercase())</ID>
<ID>MaxLineLength:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$database.execSQL("CREATE TABLE IF NOT EXISTS `hidden_icons` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `package_name` TEXT NOT NULL, `activity_name` TEXT NOT NULL, `title` TEXT NOT NULL)")</ID>
<ID>MaxLineLength:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$database.execSQL("CREATE TABLE `home_screen_grid_items_new` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `left` INTEGER NOT NULL, `top` INTEGER NOT NULL, `right` INTEGER NOT NULL, `bottom` INTEGER NOT NULL, `page` INTEGER NOT NULL, `package_name` TEXT NOT NULL, `activity_name` TEXT NOT NULL, `title` TEXT NOT NULL, `type` INTEGER NOT NULL, `class_name` TEXT NOT NULL, `widget_id` INTEGER NOT NULL, `shortcut_id` TEXT NOT NULL, `icon` BLOB, `docked` INTEGER NOT NULL DEFAULT 0, `parent_id` INTEGER)")</ID>
<ID>MaxLineLength:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$database.execSQL("CREATE UNIQUE INDEX `index_home_screen_grid_items_id` ON `home_screen_grid_items` (`id`)")</ID>
<ID>MaxLineLength:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$database.execSQL("INSERT INTO `home_screen_grid_items_new` (`id`, `left`, `top`, `right`, `bottom`, `page`, `package_name`, `activity_name`, `title`, `type`, `class_name`, `widget_id`, `shortcut_id`, `icon`, `docked`, `parent_id`) SELECT `id`, `left`, `top`, `right`, `bottom`, 0 as `page`, `package_name`, `activity_name`, `title`, `type`, `class_name`, `widget_id`, `shortcut_id`, `icon`, CASE WHEN `type` != 1 AND `top` = 5 THEN 1 ELSE 0 END AS `docked`, NULL AS `parent_id` FROM `home_screen_grid_items` WHERE `intent` IS NULL OR `intent` = ''")</ID>
<ID>MaxLineLength:Context.kt$val Context.homeScreenGridItemsDB: HomeScreenGridItemsDao get() = AppsDatabase.getInstance(applicationContext).HomeScreenGridItemsDao()</ID>
<ID>MaxLineLength:FolderIconsAdapter.kt$FolderIconsAdapter.&lt;no name provided&gt;$val yOffset = resources.getDimension(R.dimen.long_press_anchor_button_offset_y) * (visibleMenuItems - 1)</ID>
<ID>MaxLineLength:HiddenIconsAdapter.kt$HiddenIconsAdapter$private fun getSelectedItems()</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$AnimatedGridPager$((pageChangeSwipedPercentage &gt; 0f &amp;&amp; item.page == currentPage - 1) || (pageChangeSwipedPercentage &lt; 0f &amp;&amp; item.page == currentPage + 1))</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$(context as? MainActivity)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$.</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$Math.abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + Math.abs(it.y - draggedItemCurrentCoords.second + sideMargins.top)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$abs(it.second - draggedItemCurrentCoords.first + sideMargins.left) + abs(it.third - draggedItemCurrentCoords.second + sideMargins.top)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + abs(it.y - draggedItemCurrentCoords.second + sideMargins.top)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$canvas.drawCircle(currentIndicatorPosition + pageIndicatorRadius, pageIndicatorY, pageIndicatorRadius, currentPageIndicatorPaint)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$canvas.drawCircle(currentPageIndicatorLeft + pageIndicatorRadius, pageIndicatorY, pageIndicatorRadius, emptyPageIndicatorPaint)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$canvas.drawRoundRect(folderRect, roundedCornerRadius / folder.scale, roundedCornerRadius / folder.scale, folderBackgroundPaint)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$canvas.drawRoundRect(leftSide, topSide, rightSide, bottomSide, roundedCornerRadius, roundedCornerRadius, dragShadowCirclePaint)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$context.homeScreenGridItemsDB.updateItemPosition(item.left, item.top, item.right, item.bottom, item.page, false, null, item.id!!)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$context.homeScreenGridItemsDB.updateItemPosition(left, top, right, bottom, page, docked, newId, id!!)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$context.homeScreenGridItemsDB.updateItemPosition(left, top, right, bottom, page, docked, newParentId, id!!)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$context.homeScreenGridItemsDB.updateItemPosition(left, top, right, bottom, page, docked, parentId, id!!)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$draggedItem!!.drawable = Bitmap.createBitmap(draggedWidgetView.drawingCache).toDrawable(context.resources)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$gridItems.filter { it.isSingleCellType() &amp;&amp; pager.isItemOnLastPage(it) &amp;&amp; !it.docked &amp;&amp; it.parentId == null }</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$gridItems.filter { it.parentId == item.parentId &amp;&amp; it.left &gt; item.left &amp;&amp; it.id != item.id }</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$gridItems.filter { it.parentId == newParentId &amp;&amp; it.left &gt;= newItem.left &amp;&amp; it.id != newItem.id}</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$if</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private fun HomeScreenGridItem.isSingleCellType()</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private fun HomeScreenGridItem.visibleOnCurrentPage()</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private var labelSideMargin = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.small_margin).toInt()</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private var roundedCornerRadius = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.activity_margin)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$return Rect(clickableLeft, clickableTop, clickableLeft + iconSize + 2 * iconMargin, clickableTop + iconSize + 2 * iconMargin)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val appWidgetProviderInfo = item.providerInfo ?: appWidgetManager!!.installedProviders.firstOrNull { it.provider.className == item.className }</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val coveredFolder = gridItems.firstOrNull { it.type == ITEM_TYPE_FOLDER &amp;&amp; it.left == coveredCell.x &amp;&amp; it.top == coveredCell.y }</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val currentIndicatorPosition = pageIndicatorsStart + pager.getCurrentViewPositionInFullPageSpace() * pageIndicatorStep</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val drawableWidth = draggedItem!!.getWidthInCells() * cellWidth - iconMargin * (draggedItem!!.getWidthInCells() - 1)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val pageIndicatorsRequiredWidth = pageCount * pageIndicatorRadius * 2 + pageCount * (pageIndicatorMargin - 1)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val rect = Rect(left, item.y, left + draggedItem!!.getWidthInCells() - 1, item.y + draggedItem!!.getHeightInCells() - 1)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val widgetView = appWidgetHost.createView((context as MainActivity).baseContext, appWidgetId, appWidgetProviderInfo) as MyAppWidgetHostView</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$}</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$newDrawable?.setBounds(drawableX, drawableY, drawableX + scaledIconSize.toInt(), drawableY + scaledIconSize.toInt())</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$return RectF(folderDialogLeft, folderDialogTop, folderDialogLeft + folderDialogWidth, folderDialogTop + folderDialogHeight)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$val circlePath = Path().apply { addCircle((iconSize / 2).toFloat(), (iconSize / 2).toFloat(), (iconSize / 2).toFloat(), Path.Direction.CCW) }</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$val folderDialogHeight = rowsCount * cellSize + 3 * folderPadding + folderTitleTextPaint.textSize + rowsCount * yGap</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenGridTouchHelper$val</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenGridTouchHelper$val item = gridItems.firstOrNull { it.id?.toInt() == virtualViewId } ?: throw IllegalArgumentException("Unknown id")</ID>
<ID>MaxLineLength:HomeScreenGridItem.kt$HomeScreenGridItem$@ColumnInfo(name = "activity_name") var activityName: String</ID>
<ID>MaxLineLength:HomeScreenGridItem.kt$HomeScreenGridItem$@ColumnInfo(name = "docked") var docked: Boolean = false</ID>
<ID>MaxLineLength:HomeScreenGridItem.kt$HomeScreenGridItem$@ColumnInfo(name = "icon") var icon: Bitmap? = null</ID>
<ID>MaxLineLength:HomeScreenGridItem.kt$HomeScreenGridItem$constructor() : this(null, -1, -1, -1, -1, 0, "", "", "", ITEM_TYPE_ICON, "", -1, "", null, false, null, null, null, null, 1, 1)</ID>
<ID>MaxLineLength:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$@Query("DELETE FROM home_screen_grid_items WHERE parent_id IN (SELECT id FROM home_screen_grid_items WHERE package_name = :packageName)")</ID>
<ID>MaxLineLength:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$@Query("UPDATE home_screen_grid_items SET `left` = :left, `top` = :top, `right` = :right, `bottom` = :bottom, `page` = :page, `docked` = :docked , `parent_id` = :parentId WHERE id = :id")</ID>
<ID>MaxLineLength:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$@Query("UPDATE home_screen_grid_items SET `left` = `left` + :shiftBy WHERE parent_id == :folderId AND `left` &gt; :shiftFrom AND id != :excludingId")</ID>
<ID>MaxLineLength:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$fun</ID>
<ID>MaxLineLength:LaunchersAdapter.kt$LaunchersAdapter$filteredLaunchers = launchers.filter { filterQuery == null || it.title.contains(filterQuery!!, ignoreCase = true) }</ID>
<ID>MaxLineLength:LaunchersAdapter.kt$LaunchersAdapter$val filteredPosition = filteredLaunchers.indexOfFirst { it.getLauncherIdentifier() == item.getItemIdentifier() }</ID>
<ID>MaxLineLength:LaunchersAdapter.kt$LaunchersAdapter.ViewHolder$allAppsListener.onAppLauncherLongPressed((location[0] + width / 2).toFloat(), location[1].toFloat(), launcher)</ID>
<ID>MaxLineLength:LaunchersAdapter.kt$LaunchersAdapter.ViewHolder$val placeholderDrawable = activity.resources.getColoredDrawableWithColor(R.drawable.placeholder_drawable, launcher.thumbnailColor)</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$((Math.abs(mTouchDownX - event.x) &gt; mMoveGestureThreshold) || (Math.abs(mTouchDownY - event.y) &gt; mMoveGestureThreshold))</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$// delay showing the shortcut both to let the user see adding it in realtime and hackily avoid concurrent modification exception at HomeScreenGrid</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$// some devices ACTION_MOVE keeps triggering for the whole long press duration, but we are interested in real moves only, when coords change</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$Class.forName("android.app.StatusBarManager").getMethod("expandNotificationsPanel").invoke(getSystemService("statusbar"))</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$WindowCompat.getInsetsController(window, binding.root).isAppearanceLightStatusBars = backgroundColor.getContrastColor() == DARK_GREY</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$allApps.add(AppLauncher(null, label, packageName, activityName, 0, placeholderColor, drawable.toBitmap().toDrawable(resources)))</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$arrayOf(binding.allAppsFragment.root as MyFragment&lt;*&gt;, binding.widgetsFragment.root as MyFragment&lt;*&gt;)</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$fun</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$if</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$mOpenPopupMenu = handleGridItemPopupMenu(binding.homeScreenPopupMenuAnchor, gridItem, isOnAllAppsFragment, menuListener)</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$return Pair(page, Rect(wantedCell.second, wantedCell.third, wantedCell.second, wantedCell.third))</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val anchorY = binding.homeScreenGrid.root.sideMargins.top + (clickedGridItem.top * binding.homeScreenGrid.root.cellHeight.toFloat())</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val defaultDialerPackage = (getSystemService(Context.TELECOM_SERVICE) as TelecomManager).defaultDialerPackage</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val icon = launcherApps.getShortcutBadgedIconDrawable(item.shortcutInfo!!, resources.displayMetrics.densityDpi)</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val launcherApps = applicationContext.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val launcherSettings = AppLauncher(null, getString(R.string.launcher_settings), packageName, "", 0, placeholderColor, drawable.toBitmap().toDrawable(resources))</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val storePackage = potentialStores.firstOrNull { isPackageInstalled(it) &amp;&amp; appLaunchers.map { it.packageName }.contains(it) }</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity.MyGestureListener$private</ID>
<ID>MaxLineLength:MyAppWidgetHostView.kt$MyAppWidgetHostView$if</ID>
<ID>MaxLineLength:MyAppWidgetHostView.kt$MyAppWidgetHostView$var onIgnoreInterceptedListener: (() -&gt; Unit)? = null // let the home grid react on swallowed clicks, for example by hiding the widget resize frame</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$canvas.drawRect(lineDotRadius, lineDotRadius, width.toFloat() - lineDotRadius, height.toFloat() - lineDotRadius, resizeWidgetLinePaint)</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$class</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$minResizeWidthCells = Math.min(context.config.homeColumnCount, context.getCellCount(providerInfo.minResizeWidth))</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val MAX_TOUCH_LINE_DISTANCE = lineDotRadius * 5 // how close we have to be to the widgets side to drag it</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedBottom = roundToClosestMultiplyOfNumber(frameRect.bottom - sideMargins.top, cellHeight)</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedBottomCellY = roundToClosestMultiplyOfNumber(wantedBottom - sideMargins.top, cellHeight) / cellHeight - 1</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedLeft = roundToClosestMultiplyOfNumber(frameRect.left - sideMargins.left, cellWidth)</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedLeftCellX = roundToClosestMultiplyOfNumber(wantedLeft - sideMargins.left, cellWidth) / cellWidth</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedRight = roundToClosestMultiplyOfNumber(frameRect.right - sideMargins.left, cellWidth)</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedRightCellX = roundToClosestMultiplyOfNumber(wantedRight - sideMargins.left, cellWidth) / cellWidth - 1</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedTopCellY = roundToClosestMultiplyOfNumber(wantedTop - sideMargins.top, cellHeight) / cellHeight</ID>
<ID>MaxLineLength:MyFragment.kt$MyFragment$abstract</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$binding.settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") &amp;&amp; !isTiramisuPlus())</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_2_title_commons, com.simplemobiletools.commons.R.string.faq_2_text_commons))</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_6_title_commons, com.simplemobiletools.commons.R.string.faq_6_text_commons))</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(com.simplemobiletools.commons.R.bool.hide_google_relations)</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$items.add(RadioItem(i, resources.getQuantityString(com.simplemobiletools.commons.R.plurals.column_counts, i, i)))</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$items.add(RadioItem(i, resources.getQuantityString(com.simplemobiletools.commons.R.plurals.row_counts, i, i)))</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$updateMaterialActivityViews(binding.settingsCoordinator, binding.settingsHolder, useTransparentNavigation = true, useTopSearchMenu = false)</ID>
<ID>MaxLineLength:WidgetsAdapter.kt$WidgetsAdapter$marginStart = activity.resources.getDimension(com.simplemobiletools.commons.R.dimen.activity_margin).toInt()</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$// some devices ACTION_MOVE keeps triggering for the whole long press duration, but we are interested in real moves only, when coords change</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$AppWidget(appPackageName, appTitle, appIcon, widgetTitle, widgetPreviewImage, widthCells, heightCells, false, className, info, null)</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$appWidgets = appWidgets.sortedWith(compareBy({ it.appTitle }, { it.appPackageName }, { it.widgetTitle })).toMutableList() as ArrayList&lt;AppWidget&gt;</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$class</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$if</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$val widget = AppWidget(appPackageName, appTitle, appIcon, widgetTitle, widgetPreviewImage, 0, 0, true, "", null, info.activityInfo)</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$val widgetPreviewImage = packageManager.getDrawable(componentInfo.packageName, info.iconResource, componentInfo)</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$@SuppressLint("ClickableViewAccessibility") fun widgetLongPressed(item: HomeScreenGridItem)</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$fun drawInto(canvas: Canvas)</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$private fun Canvas.drawItemInCell(item: HomeScreenGridItem, cell: Rect)</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut()</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$private fun addWidget()</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$private fun moveItem()</ID>
<ID>NestedBlockDepth:MainActivity.kt$MainActivity$override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?)</ID>
<ID>NestedBlockDepth:MainActivity.kt$MainActivity$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>NestedBlockDepth:MainActivity.kt$MainActivity$private fun findFirstEmptyCell(): Pair&lt;Int, Rect&gt;</ID>
<ID>NestedBlockDepth:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>ReturnCount:AllAppsFragment.kt$AllAppsFragment$override fun onInterceptTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid$fun isClickingGridItem(x: Int, y: Int): HomeScreenGridItem?</ID>
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$fun generateDrawable(): Drawable?</ID>
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenGridTouchHelper$override fun onPerformActionForVirtualView(virtualViewId: Int, action: Int, arguments: Bundle?): Boolean</ID>
<ID>ReturnCount:MyAppWidgetHostView.kt$MyAppWidgetHostView$override fun onInterceptTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>ReturnCount:WidgetsFragment.kt$WidgetsFragment$override fun onInterceptTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>SwallowedException:Activity.kt$e: Exception</ID>
<ID>SwallowedException:Context.kt$e: Error</ID>
<ID>SwallowedException:Context.kt$e: Exception</ID>
<ID>SwallowedException:MainActivity.kt$MainActivity$e: ActivityNotFoundException</ID>
<ID>SwallowedException:MainActivity.kt$MainActivity$e: Exception</ID>
<ID>SwallowedException:WidgetsFragment.kt$WidgetsFragment$error: Error</ID>
<ID>TooGenericExceptionCaught:Activity.kt$e: Exception</ID>
<ID>TooGenericExceptionCaught:Context.kt$e: Error</ID>
<ID>TooGenericExceptionCaught:Context.kt$e: Exception</ID>
<ID>TooGenericExceptionCaught:MainActivity.kt$MainActivity$e: Exception</ID>
<ID>TooGenericExceptionCaught:WidgetsFragment.kt$WidgetsFragment$error: Error</ID>
<ID>TooManyFunctions:AllAppsFragment.kt$AllAppsFragment : MyFragmentAllAppsListener</ID>
<ID>TooManyFunctions:FolderIconsAdapter.kt$FolderIconsAdapter : MyRecyclerViewAdapter</ID>
<ID>TooManyFunctions:HiddenIconsAdapter.kt$HiddenIconsAdapter : MyRecyclerViewAdapter</ID>
<ID>TooManyFunctions:HomeScreenGrid.kt$AnimatedGridPager</ID>
<ID>TooManyFunctions:HomeScreenGrid.kt$HomeScreenGrid : RelativeLayout</ID>
<ID>TooManyFunctions:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao</ID>
<ID>TooManyFunctions:MainActivity.kt$MainActivity : SimpleActivityFlingListener</ID>
<ID>TooManyFunctions:SettingsActivity.kt$SettingsActivity : SimpleActivity</ID>
<ID>UnusedParameter:HomeScreenGrid.kt$AnimatedGridPager$y: Int</ID>
<ID>UnusedParameter:WidgetsAdapter.kt$WidgetsAdapter.ViewHolder$widgetListItem: WidgetsListItem</ID>
<ID>UnusedPrivateMember:MyAppWidgetHostView.kt$MyAppWidgetHostView$private fun hasFingerMoved(x: Float, y: Float)</ID>
<ID>VariableNaming:MainActivity.kt$MainActivity$val SMSMessengerIcon = HomeScreenGridItem( null, 1, config.homeRowCount - 1, 1, config.homeRowCount - 1, 0, defaultSMSMessengerPackage, "", title, ITEM_TYPE_ICON, "", -1, "", null, true, null )</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_BOTTOM = 4</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_LEFT = 1</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_NONE = 0</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_RIGHT = 3</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_TOP = 2</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val MAX_TOUCH_LINE_DISTANCE = lineDotRadius * 5 // how close we have to be to the widgets side to drag it</ID>
<ID>WildcardImport:AllAppsFragment.kt$import com.simplemobiletools.commons.extensions.*</ID>
<ID>WildcardImport:AppLauncher.kt$import androidx.room.*</ID>
<ID>WildcardImport:HiddenIcon.kt$import androidx.room.*</ID>
<ID>WildcardImport:HiddenIconsDao.kt$import androidx.room.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import android.graphics.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import com.simplemobiletools.commons.extensions.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import com.simplemobiletools.commons.helpers.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import com.simplemobiletools.launcher.helpers.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import kotlin.math.*</ID>
<ID>WildcardImport:HomeScreenGridItem.kt$import androidx.room.*</ID>
<ID>WildcardImport:HomeScreenGridItemsDao.kt$import androidx.room.*</ID>
<ID>WildcardImport:MainActivity.kt$import android.view.*</ID>
<ID>WildcardImport:MainActivity.kt$import com.simplemobiletools.commons.extensions.*</ID>
<ID>WildcardImport:MainActivity.kt$import com.simplemobiletools.commons.helpers.*</ID>
<ID>WildcardImport:MainActivity.kt$import com.simplemobiletools.launcher.extensions.*</ID>
<ID>WildcardImport:MainActivity.kt$import com.simplemobiletools.launcher.helpers.*</ID>
<ID>WildcardImport:MyAppWidgetResizeFrame.kt$import android.graphics.*</ID>
<ID>WildcardImport:RenameItemDialog.kt$import com.simplemobiletools.commons.extensions.*</ID>
<ID>WildcardImport:SettingsActivity.kt$import com.simplemobiletools.commons.extensions.*</ID>
<ID>WildcardImport:WidgetsFragment.kt$import com.simplemobiletools.commons.extensions.*</ID>
<ID>WildcardImport:WidgetsFragment.kt$import com.simplemobiletools.launcher.models.*</ID>
</CurrentIssues>
<ManuallySuppressedIssues></ManuallySuppressedIssues>
<CurrentIssues>
<ID>ComplexCondition:HomeScreenGrid.kt$AnimatedGridPager$currentPage &lt; getMaxPage() &amp;&amp; diffX &gt; 0f || currentPage &gt; 0 &amp;&amp; diffX
&lt; 0f
</ID>
<ID>ComplexCondition:HomeScreenGrid.kt$HomeScreenGrid$item.page != 0 &amp;&amp; gridItems.none { it.page == item.page &amp;&amp; it.id != item.id &amp;&amp;
it.parentId == null }
</ID>
<ID>ComplexCondition:HomeScreenGrid.kt$HomeScreenGrid$newParentId != null &amp;&amp; gridItems.any { it.parentId == newParentId &amp;&amp; it.left ==
left } &amp;&amp; (newParentId != oldParentId || left != oldLeft)
</ID>
<ID>ComplexCondition:HomeScreenGrid.kt$HomeScreenGrid$x &gt;= left &amp;&amp; x &lt;= right &amp;&amp; y &gt;= top &amp;&amp; y &lt;= bottom</ID>
<ID>ComplexCondition:HomeScreenGrid.kt$HomeScreenGrid$x &gt;= rect.left &amp;&amp; x &lt;= rect.right &amp;&amp; y &gt;= rect.top &amp;&amp; y &lt;=
rect.bottom
</ID>
<ID>CyclomaticComplexMethod:Activity.kt$fun Activity.handleGridItemPopupMenu(anchorView: View, gridItem: HomeScreenGridItem, isOnAllAppsFragment:
Boolean, listener: ItemMenuListener): PopupMenu
</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$fun draggedItemMoved(x: Int, y: Int)</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$fun drawInto(canvas: Canvas)</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$fun isClickingGridItem(x: Int, y: Int): HomeScreenGridItem?</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut( draggedHomeGridItem: HomeScreenGridItem?, xIndex: Int,
yIndex: Int, newParentId: Long? = null, toFolderEnd: Boolean = true )
</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut()</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addWidget()</ID>
<ID>CyclomaticComplexMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun moveItem()</ID>
<ID>CyclomaticComplexMethod:MainActivity.kt$MainActivity$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>CyclomaticComplexMethod:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>EmptyCatchBlock:Context.kt${ }</ID>
<ID>EmptyCatchBlock:MainActivity.kt$MainActivity${ }</ID>
<ID>EmptyCatchBlock:WidgetsFragment.kt$WidgetsFragment${ }</ID>
<ID>EmptyFunctionBlock:FolderIconsAdapter.kt$FolderIconsAdapter${}</ID>
<ID>EmptyFunctionBlock:HiddenIconsAdapter.kt$HiddenIconsAdapter${}</ID>
<ID>LargeClass:HomeScreenGrid.kt$HomeScreenGrid : RelativeLayout</ID>
<ID>LargeClass:MainActivity.kt$MainActivity : SimpleActivityFlingListener</ID>
<ID>LongMethod:Activity.kt$fun Activity.handleGridItemPopupMenu(anchorView: View, gridItem: HomeScreenGridItem, isOnAllAppsFragment: Boolean, listener:
ItemMenuListener): PopupMenu
</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$fun draggedItemMoved(x: Int, y: Int)</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$fun drawInto(canvas: Canvas)</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut( draggedHomeGridItem: HomeScreenGridItem?, xIndex: Int, yIndex: Int,
newParentId: Long? = null, toFolderEnd: Boolean = true )
</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut()</ID>
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$private fun addWidget()</ID>
<ID>LongMethod:MainActivity.kt$MainActivity$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>LongMethod:MainActivity.kt$MainActivity$private fun getDefaultAppPackages(appLaunchers: ArrayList&lt;AppLauncher&gt;)</ID>
<ID>LongMethod:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>LongParameterList:HomeScreenGrid.kt$AnimatedGridPager$( private val getMaxPage: () -&gt; Int, private val redrawGrid: () -&gt; Unit, private val
getWidth: () -&gt; Int, private val getHandler: () -&gt; Handler, private val getNextPageBound: () -&gt; Int, private val getPrevPageBound: () -&gt;
Int, private val pageChangeStarted: () -&gt; Unit )
</ID>
<ID>LongParameterList:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$(left: Int, top: Int, right: Int, bottom: Int, page: Int, docked: Boolean,
parentId: Long?, id: Long)
</ID>
<ID>LongParameterList:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$( coords: Rect, cellWidth: Int, cellHeight: Int, sideMargins: Rect, gridItem:
HomeScreenGridItem, allGridItems: ArrayList&lt;HomeScreenGridItem&gt; )
</ID>
<ID>LoopWithTooManyJumpStatements:MainActivity.kt$MainActivity$for</ID>
<ID>MagicNumber:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$3</ID>
<ID>MagicNumber:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$4</ID>
<ID>MagicNumber:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$5</ID>
<ID>MagicNumber:Context.kt$30</ID>
<ID>MagicNumber:Context.kt$70.0</ID>
<ID>MagicNumber:Converters.kt$Converters$100</ID>
<ID>MagicNumber:HiddenIconsAdapter.kt$HiddenIconsAdapter$0.1f</ID>
<ID>MagicNumber:HiddenIconsAdapter.kt$HiddenIconsAdapter$150</ID>
<ID>MagicNumber:HomeScreenGrid.kt$AnimatedGridPager$0.5f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$AnimatedGridPager$255</ID>
<ID>MagicNumber:HomeScreenGrid.kt$AnimatedGridPager$255.0f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid$1.2f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid$1.5f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid$3f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid$5</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$0.2f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$3</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$5f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder.&lt;no name provided&gt;$0.2f</ID>
<ID>MagicNumber:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenGridTouchHelper$100</ID>
<ID>MagicNumber:LaunchersAdapter.kt$LaunchersAdapter$0.1f</ID>
<ID>MagicNumber:LaunchersAdapter.kt$LaunchersAdapter.ViewHolder$150</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity$0.5</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity$2000</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity$3</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity$4</ID>
<ID>MagicNumber:MainActivity.kt$MainActivity.MyGestureListener$500L</ID>
<ID>MagicNumber:MyAppWidgetHostView.kt$MyAppWidgetHostView$4</ID>
<ID>MagicNumber:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$3</ID>
<ID>MagicNumber:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$4</ID>
<ID>MagicNumber:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$5</ID>
<ID>MaxLineLength:Activity.kt$LauncherApps.ShortcutQuery.FLAG_MATCH_DYNAMIC or LauncherApps.ShortcutQuery.FLAG_MATCH_MANIFEST or
LauncherApps.ShortcutQuery.FLAG_MATCH_PINNED
</ID>
<ID>MaxLineLength:Activity.kt$fun</ID>
<ID>MaxLineLength:Activity.kt$launcherApps.getShortcutIconDrawable(it, resources.displayMetrics.densityDpi).toBitmap(width = iconSize, height =
iconSize)
</ID>
<ID>MaxLineLength:Activity.kt$menu.findItem(R.id.rename).isVisible = (gridItem.type == ITEM_TYPE_ICON || gridItem.type == ITEM_TYPE_FOLDER) &amp;&amp;
!isOnAllAppsFragment
</ID>
<ID>MaxLineLength:Activity.kt$menu.findItem(R.id.uninstall).isVisible = gridItem.type == ITEM_TYPE_ICON &amp;&amp;
canAppBeUninstalled(gridItem.packageName)
</ID>
<ID>MaxLineLength:AllAppsFragment.kt$AllAppsFragment$// some devices ACTION_MOVE keeps triggering for the whole long press duration, but we are
interested in real moves only, when coords change
</ID>
<ID>MaxLineLength:AllAppsFragment.kt$AllAppsFragment$binding.allAppsGrid.setPadding(0, 0,
resources.getDimension(org.fossify.commons.R.dimen.medium_margin).toInt(), bottomListPadding)
</ID>
<ID>MaxLineLength:AllAppsFragment.kt$AllAppsFragment$class</ID>
<ID>MaxLineLength:AppLauncher.kt$AppLauncher$@ColumnInfo(name = "activity_name") var activityName: String</ID>
<ID>MaxLineLength:AppLauncher.kt$AppLauncher$sorting and SORT_BY_TITLE != 0 -&gt;
title.normalizeString().lowercase().compareTo(other.title.normalizeString().lowercase())
</ID>
<ID>MaxLineLength:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$database.execSQL("CREATE TABLE IF NOT EXISTS `hidden_icons` (`id`
INTEGER PRIMARY KEY AUTOINCREMENT, `package_name` TEXT NOT NULL, `activity_name` TEXT NOT NULL, `title` TEXT NOT NULL)")
</ID>
<ID>MaxLineLength:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$database.execSQL("CREATE TABLE `home_screen_grid_items_new` (`id`
INTEGER PRIMARY KEY AUTOINCREMENT, `left` INTEGER NOT NULL, `top` INTEGER NOT NULL, `right` INTEGER NOT NULL, `bottom` INTEGER NOT NULL, `page`
INTEGER NOT NULL, `package_name` TEXT NOT NULL, `activity_name` TEXT NOT NULL, `title` TEXT NOT NULL, `type` INTEGER NOT NULL, `class_name` TEXT NOT
NULL, `widget_id` INTEGER NOT NULL, `shortcut_id` TEXT NOT NULL, `icon` BLOB, `docked` INTEGER NOT NULL DEFAULT 0, `parent_id` INTEGER)")
</ID>
<ID>MaxLineLength:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$database.execSQL("CREATE UNIQUE INDEX
`index_home_screen_grid_items_id` ON `home_screen_grid_items` (`id`)")
</ID>
<ID>MaxLineLength:AppsDatabase.kt$AppsDatabase.Companion.&lt;no name provided&gt;$database.execSQL("INSERT INTO `home_screen_grid_items_new` (`id`,
`left`, `top`, `right`, `bottom`, `page`, `package_name`, `activity_name`, `title`, `type`, `class_name`, `widget_id`, `shortcut_id`, `icon`,
`docked`, `parent_id`) SELECT `id`, `left`, `top`, `right`, `bottom`, 0 as `page`, `package_name`, `activity_name`, `title`, `type`, `class_name`,
`widget_id`, `shortcut_id`, `icon`, CASE WHEN `type` != 1 AND `top` = 5 THEN 1 ELSE 0 END AS `docked`, NULL AS `parent_id` FROM
`home_screen_grid_items` WHERE `intent` IS NULL OR `intent` = ''")
</ID>
<ID>MaxLineLength:Context.kt$val Context.homeScreenGridItemsDB: HomeScreenGridItemsDao get() =
AppsDatabase.getInstance(applicationContext).HomeScreenGridItemsDao()
</ID>
<ID>MaxLineLength:FolderIconsAdapter.kt$FolderIconsAdapter.&lt;no name provided&gt;$val yOffset =
resources.getDimension(R.dimen.long_press_anchor_button_offset_y) * (visibleMenuItems - 1)
</ID>
<ID>MaxLineLength:HiddenIconsAdapter.kt$HiddenIconsAdapter$private fun getSelectedItems()</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$AnimatedGridPager$((pageChangeSwipedPercentage &gt; 0f &amp;&amp; item.page == currentPage - 1) ||
(pageChangeSwipedPercentage &lt; 0f &amp;&amp; item.page == currentPage + 1))
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$(context as? MainActivity)</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$.</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$Math.abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + Math.abs(it.y -
draggedItemCurrentCoords.second + sideMargins.top)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$abs(it.second - draggedItemCurrentCoords.first + sideMargins.left) + abs(it.third -
draggedItemCurrentCoords.second + sideMargins.top)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + abs(it.y -
draggedItemCurrentCoords.second + sideMargins.top)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$canvas.drawCircle(currentIndicatorPosition + pageIndicatorRadius, pageIndicatorY,
pageIndicatorRadius, currentPageIndicatorPaint)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$canvas.drawCircle(currentPageIndicatorLeft + pageIndicatorRadius, pageIndicatorY,
pageIndicatorRadius, emptyPageIndicatorPaint)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$canvas.drawRoundRect(folderRect, roundedCornerRadius / folder.scale, roundedCornerRadius /
folder.scale, folderBackgroundPaint)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$canvas.drawRoundRect(leftSide, topSide, rightSide, bottomSide, roundedCornerRadius,
roundedCornerRadius, dragShadowCirclePaint)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$context.homeScreenGridItemsDB.updateItemPosition(item.left, item.top, item.right, item.bottom,
item.page, false, null, item.id!!)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$context.homeScreenGridItemsDB.updateItemPosition(left, top, right, bottom, page, docked, newId,
id!!)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$context.homeScreenGridItemsDB.updateItemPosition(left, top, right, bottom, page, docked, newParentId,
id!!)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$context.homeScreenGridItemsDB.updateItemPosition(left, top, right, bottom, page, docked, parentId,
id!!)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$draggedItem!!.drawable =
Bitmap.createBitmap(draggedWidgetView.drawingCache).toDrawable(context.resources)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$gridItems.filter { it.isSingleCellType() &amp;&amp; pager.isItemOnLastPage(it) &amp;&amp; !it.docked
&amp;&amp; it.parentId == null }
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$gridItems.filter { it.parentId == item.parentId &amp;&amp; it.left &gt; item.left &amp;&amp; it.id !=
item.id }
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$gridItems.filter { it.parentId == newParentId &amp;&amp; it.left &gt;= newItem.left &amp;&amp; it.id
!= newItem.id}
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$if</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private fun HomeScreenGridItem.isSingleCellType()</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private fun HomeScreenGridItem.visibleOnCurrentPage()</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private var labelSideMargin =
context.resources.getDimension(org.fossify.commons.R.dimen.small_margin).toInt()
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$private var roundedCornerRadius =
context.resources.getDimension(org.fossify.commons.R.dimen.activity_margin)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$return Rect(clickableLeft, clickableTop, clickableLeft + iconSize + 2 * iconMargin, clickableTop +
iconSize + 2 * iconMargin)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val appWidgetProviderInfo = item.providerInfo ?: appWidgetManager!!.installedProviders.firstOrNull {
it.provider.className == item.className }
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val coveredFolder = gridItems.firstOrNull { it.type == ITEM_TYPE_FOLDER &amp;&amp; it.left ==
coveredCell.x &amp;&amp; it.top == coveredCell.y }
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val currentIndicatorPosition = pageIndicatorsStart + pager.getCurrentViewPositionInFullPageSpace() *
pageIndicatorStep
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val drawableWidth = draggedItem!!.getWidthInCells() * cellWidth - iconMargin *
(draggedItem!!.getWidthInCells() - 1)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val pageIndicatorsRequiredWidth = pageCount * pageIndicatorRadius * 2 + pageCount *
(pageIndicatorMargin - 1)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val rect = Rect(left, item.y, left + draggedItem!!.getWidthInCells() - 1, item.y +
draggedItem!!.getHeightInCells() - 1)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$val widgetView = appWidgetHost.createView((context as MainActivity).baseContext, appWidgetId,
appWidgetProviderInfo) as MyAppWidgetHostView
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid$}</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$newDrawable?.setBounds(drawableX, drawableY, drawableX + scaledIconSize.toInt(),
drawableY + scaledIconSize.toInt())
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$return RectF(folderDialogLeft, folderDialogTop, folderDialogLeft +
folderDialogWidth, folderDialogTop + folderDialogHeight)
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$val circlePath = Path().apply { addCircle((iconSize / 2).toFloat(), (iconSize /
2).toFloat(), (iconSize / 2).toFloat(), Path.Direction.CCW) }
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$val folderDialogHeight = rowsCount * cellSize + 3 * folderPadding +
folderTitleTextPaint.textSize + rowsCount * yGap
</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenGridTouchHelper$val</ID>
<ID>MaxLineLength:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenGridTouchHelper$val item = gridItems.firstOrNull { it.id?.toInt() == virtualViewId } ?:
throw IllegalArgumentException("Unknown id")
</ID>
<ID>MaxLineLength:HomeScreenGridItem.kt$HomeScreenGridItem$@ColumnInfo(name = "activity_name") var activityName: String</ID>
<ID>MaxLineLength:HomeScreenGridItem.kt$HomeScreenGridItem$@ColumnInfo(name = "docked") var docked: Boolean = false</ID>
<ID>MaxLineLength:HomeScreenGridItem.kt$HomeScreenGridItem$@ColumnInfo(name = "icon") var icon: Bitmap? = null</ID>
<ID>MaxLineLength:HomeScreenGridItem.kt$HomeScreenGridItem$constructor() : this(null, -1, -1, -1, -1, 0, "", "", "", ITEM_TYPE_ICON, "", -1, "", null,
false, null, null, null, null, 1, 1)
</ID>
<ID>MaxLineLength:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$@Query("DELETE FROM home_screen_grid_items WHERE parent_id IN (SELECT id FROM
home_screen_grid_items WHERE package_name = :packageName)")
</ID>
<ID>MaxLineLength:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$@Query("UPDATE home_screen_grid_items SET `left` = :left, `top` = :top, `right` =
:right, `bottom` = :bottom, `page` = :page, `docked` = :docked , `parent_id` = :parentId WHERE id = :id")
</ID>
<ID>MaxLineLength:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$@Query("UPDATE home_screen_grid_items SET `left` = `left` + :shiftBy WHERE parent_id
== :folderId AND `left` &gt; :shiftFrom AND id != :excludingId")
</ID>
<ID>MaxLineLength:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao$fun</ID>
<ID>MaxLineLength:LaunchersAdapter.kt$LaunchersAdapter$filteredLaunchers = launchers.filter { filterQuery == null || it.title.contains(filterQuery!!,
ignoreCase = true) }
</ID>
<ID>MaxLineLength:LaunchersAdapter.kt$LaunchersAdapter$val filteredPosition = filteredLaunchers.indexOfFirst { it.getLauncherIdentifier() ==
item.getItemIdentifier() }
</ID>
<ID>MaxLineLength:LaunchersAdapter.kt$LaunchersAdapter.ViewHolder$allAppsListener.onAppLauncherLongPressed((location[0] + width / 2).toFloat(),
location[1].toFloat(), launcher)
</ID>
<ID>MaxLineLength:LaunchersAdapter.kt$LaunchersAdapter.ViewHolder$val placeholderDrawable =
activity.resources.getColoredDrawableWithColor(R.drawable.placeholder_drawable, launcher.thumbnailColor)
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$((Math.abs(mTouchDownX - event.x) &gt; mMoveGestureThreshold) || (Math.abs(mTouchDownY - event.y) &gt;
mMoveGestureThreshold))
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$// delay showing the shortcut both to let the user see adding it in realtime and hackily avoid concurrent
modification exception at HomeScreenGrid
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$// some devices ACTION_MOVE keeps triggering for the whole long press duration, but we are interested in
real moves only, when coords change
</ID>
<ID>
MaxLineLength:MainActivity.kt$MainActivity$Class.forName("android.app.StatusBarManager").getMethod("expandNotificationsPanel").invoke(getSystemService("statusbar"))
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$WindowCompat.getInsetsController(window, binding.root).isAppearanceLightStatusBars =
backgroundColor.getContrastColor() == DARK_GREY
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$allApps.add(AppLauncher(null, label, packageName, activityName, 0, placeholderColor,
drawable.toBitmap().toDrawable(resources)))
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$arrayOf(binding.allAppsFragment.root as MyFragment&lt;*&gt;, binding.widgetsFragment.root as MyFragment&lt;*&gt;)</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$fun</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$if</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$mOpenPopupMenu = handleGridItemPopupMenu(binding.homeScreenPopupMenuAnchor, gridItem,
isOnAllAppsFragment, menuListener)
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$return Pair(page, Rect(wantedCell.second, wantedCell.third, wantedCell.second, wantedCell.third))</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val anchorY = binding.homeScreenGrid.root.sideMargins.top + (clickedGridItem.top *
binding.homeScreenGrid.root.cellHeight.toFloat())
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val defaultDialerPackage = (getSystemService(Context.TELECOM_SERVICE) as
TelecomManager).defaultDialerPackage
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val icon = launcherApps.getShortcutBadgedIconDrawable(item.shortcutInfo!!,
resources.displayMetrics.densityDpi)
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val launcherApps = applicationContext.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val launcherSettings = AppLauncher(null, getString(R.string.launcher_settings), packageName, "", 0,
placeholderColor, drawable.toBitmap().toDrawable(resources))
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$val storePackage = potentialStores.firstOrNull { isPackageInstalled(it) &amp;&amp; appLaunchers.map {
it.packageName }.contains(it) }
</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity.MyGestureListener$private</ID>
<ID>MaxLineLength:MyAppWidgetHostView.kt$MyAppWidgetHostView$if</ID>
<ID>MaxLineLength:MyAppWidgetHostView.kt$MyAppWidgetHostView$var onIgnoreInterceptedListener: (() -&gt; Unit)? = null // let the home grid react on
swallowed clicks, for example by hiding the widget resize frame
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$canvas.drawRect(lineDotRadius, lineDotRadius, width.toFloat() - lineDotRadius,
height.toFloat() - lineDotRadius, resizeWidgetLinePaint)
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$class</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$minResizeWidthCells = Math.min(context.config.homeColumnCount,
context.getCellCount(providerInfo.minResizeWidth))
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val MAX_TOUCH_LINE_DISTANCE = lineDotRadius * 5 // how close we have to be to
the widgets side to drag it
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedBottom = roundToClosestMultiplyOfNumber(frameRect.bottom - sideMargins.top,
cellHeight)
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedBottomCellY = roundToClosestMultiplyOfNumber(wantedBottom -
sideMargins.top, cellHeight) / cellHeight - 1
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedLeft = roundToClosestMultiplyOfNumber(frameRect.left - sideMargins.left,
cellWidth)
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedLeftCellX = roundToClosestMultiplyOfNumber(wantedLeft - sideMargins.left,
cellWidth) / cellWidth
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedRight = roundToClosestMultiplyOfNumber(frameRect.right - sideMargins.left,
cellWidth)
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedRightCellX = roundToClosestMultiplyOfNumber(wantedRight - sideMargins.left,
cellWidth) / cellWidth - 1
</ID>
<ID>MaxLineLength:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$val wantedTopCellY = roundToClosestMultiplyOfNumber(wantedTop - sideMargins.top,
cellHeight) / cellHeight
</ID>
<ID>MaxLineLength:MyFragment.kt$MyFragment$abstract</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$binding.settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled ||
Locale.getDefault().language != "en") &amp;&amp; !isTiramisuPlus())
</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_2_title_commons,
org.fossify.commons.R.string.faq_2_text_commons))
</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_6_title_commons,
org.fossify.commons.R.string.faq_6_text_commons))
</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$findItem(R.id.more_apps_from_us).isVisible =
!resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations)
</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$items.add(RadioItem(i, resources.getQuantityString(org.fossify.commons.R.plurals.column_counts,
i, i)))
</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$items.add(RadioItem(i, resources.getQuantityString(org.fossify.commons.R.plurals.row_counts, i,
i)))
</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$updateMaterialActivityViews(binding.settingsCoordinator, binding.settingsHolder,
useTransparentNavigation = true, useTopSearchMenu = false)
</ID>
<ID>MaxLineLength:WidgetsAdapter.kt$WidgetsAdapter$marginStart = activity.resources.getDimension(org.fossify.commons.R.dimen.activity_margin).toInt()
</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$// some devices ACTION_MOVE keeps triggering for the whole long press duration, but we are
interested in real moves only, when coords change
</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$AppWidget(appPackageName, appTitle, appIcon, widgetTitle, widgetPreviewImage, widthCells,
heightCells, false, className, info, null)
</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$appWidgets = appWidgets.sortedWith(compareBy({ it.appTitle }, { it.appPackageName }, {
it.widgetTitle })).toMutableList() as ArrayList&lt;AppWidget&gt;
</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$class</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$if</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$val widget = AppWidget(appPackageName, appTitle, appIcon, widgetTitle, widgetPreviewImage, 0, 0,
true, "", null, info.activityInfo)
</ID>
<ID>MaxLineLength:WidgetsFragment.kt$WidgetsFragment$val widgetPreviewImage = packageManager.getDrawable(componentInfo.packageName, info.iconResource,
componentInfo)
</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$@SuppressLint("ClickableViewAccessibility") fun widgetLongPressed(item: HomeScreenGridItem)</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$fun drawInto(canvas: Canvas)</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$private fun Canvas.drawItemInCell(item: HomeScreenGridItem, cell: Rect)</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$private fun addAppIconOrShortcut()</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$private fun addWidget()</ID>
<ID>NestedBlockDepth:HomeScreenGrid.kt$HomeScreenGrid$private fun moveItem()</ID>
<ID>NestedBlockDepth:MainActivity.kt$MainActivity$override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?)</ID>
<ID>NestedBlockDepth:MainActivity.kt$MainActivity$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>NestedBlockDepth:MainActivity.kt$MainActivity$private fun findFirstEmptyCell(): Pair&lt;Int, Rect&gt;</ID>
<ID>NestedBlockDepth:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>ReturnCount:AllAppsFragment.kt$AllAppsFragment$override fun onInterceptTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid$fun isClickingGridItem(x: Int, y: Int): HomeScreenGridItem?</ID>
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$fun generateDrawable(): Drawable?</ID>
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenGridTouchHelper$override fun onPerformActionForVirtualView(virtualViewId: Int, action: Int,
arguments: Bundle?): Boolean
</ID>
<ID>ReturnCount:MyAppWidgetHostView.kt$MyAppWidgetHostView$override fun onInterceptTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>ReturnCount:WidgetsFragment.kt$WidgetsFragment$override fun onInterceptTouchEvent(event: MotionEvent?): Boolean</ID>
<ID>SwallowedException:Activity.kt$e: Exception</ID>
<ID>SwallowedException:Context.kt$e: Error</ID>
<ID>SwallowedException:Context.kt$e: Exception</ID>
<ID>SwallowedException:MainActivity.kt$MainActivity$e: ActivityNotFoundException</ID>
<ID>SwallowedException:MainActivity.kt$MainActivity$e: Exception</ID>
<ID>SwallowedException:WidgetsFragment.kt$WidgetsFragment$error: Error</ID>
<ID>TooGenericExceptionCaught:Activity.kt$e: Exception</ID>
<ID>TooGenericExceptionCaught:Context.kt$e: Error</ID>
<ID>TooGenericExceptionCaught:Context.kt$e: Exception</ID>
<ID>TooGenericExceptionCaught:MainActivity.kt$MainActivity$e: Exception</ID>
<ID>TooGenericExceptionCaught:WidgetsFragment.kt$WidgetsFragment$error: Error</ID>
<ID>TooManyFunctions:AllAppsFragment.kt$AllAppsFragment : MyFragmentAllAppsListener</ID>
<ID>TooManyFunctions:FolderIconsAdapter.kt$FolderIconsAdapter : MyRecyclerViewAdapter</ID>
<ID>TooManyFunctions:HiddenIconsAdapter.kt$HiddenIconsAdapter : MyRecyclerViewAdapter</ID>
<ID>TooManyFunctions:HomeScreenGrid.kt$AnimatedGridPager</ID>
<ID>TooManyFunctions:HomeScreenGrid.kt$HomeScreenGrid : RelativeLayout</ID>
<ID>TooManyFunctions:HomeScreenGridItemsDao.kt$HomeScreenGridItemsDao</ID>
<ID>TooManyFunctions:MainActivity.kt$MainActivity : SimpleActivityFlingListener</ID>
<ID>TooManyFunctions:SettingsActivity.kt$SettingsActivity : SimpleActivity</ID>
<ID>UnusedParameter:HomeScreenGrid.kt$AnimatedGridPager$y: Int</ID>
<ID>UnusedParameter:WidgetsAdapter.kt$WidgetsAdapter.ViewHolder$widgetListItem: WidgetsListItem</ID>
<ID>UnusedPrivateMember:MyAppWidgetHostView.kt$MyAppWidgetHostView$private fun hasFingerMoved(x: Float, y: Float)</ID>
<ID>VariableNaming:MainActivity.kt$MainActivity$val SMSMessengerIcon = HomeScreenGridItem( null, 1, config.homeRowCount - 1, 1, config.homeRowCount - 1,
0, defaultSMSMessengerPackage, "", title, ITEM_TYPE_ICON, "", -1, "", null, true, null )
</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_BOTTOM = 4</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_LEFT = 1</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_NONE = 0</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_RIGHT = 3</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val DRAGGING_TOP = 2</ID>
<ID>VariableNaming:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$private val MAX_TOUCH_LINE_DISTANCE = lineDotRadius * 5 // how close we have to be
to the widgets side to drag it
</ID>
<ID>WildcardImport:AllAppsFragment.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:AppLauncher.kt$import androidx.room.*</ID>
<ID>WildcardImport:HiddenIcon.kt$import androidx.room.*</ID>
<ID>WildcardImport:HiddenIconsDao.kt$import androidx.room.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import android.graphics.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import org.fossify.commons.helpers.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import org.fossify.launcher.helpers.*</ID>
<ID>WildcardImport:HomeScreenGrid.kt$import kotlin.math.*</ID>
<ID>WildcardImport:HomeScreenGridItem.kt$import androidx.room.*</ID>
<ID>WildcardImport:HomeScreenGridItemsDao.kt$import androidx.room.*</ID>
<ID>WildcardImport:MainActivity.kt$import android.view.*</ID>
<ID>WildcardImport:MainActivity.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:MainActivity.kt$import org.fossify.commons.helpers.*</ID>
<ID>WildcardImport:MainActivity.kt$import org.fossify.launcher.extensions.*</ID>
<ID>WildcardImport:MainActivity.kt$import org.fossify.launcher.helpers.*</ID>
<ID>WildcardImport:MyAppWidgetResizeFrame.kt$import android.graphics.*</ID>
<ID>WildcardImport:RenameItemDialog.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:SettingsActivity.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:WidgetsFragment.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:WidgetsFragment.kt$import org.fossify.launcher.models.*</ID>
</CurrentIssues>
</SmellBaseline>

View File

@@ -1,515 +1,269 @@
<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 8.1.1" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.1)" variant="all" version="8.1.1">
<issue
id="NewApi"
message="`android:enforceNavigationBarContrast` requires API level 29 (current min is 26)"
<issue id="NewApi" message="`android:enforceNavigationBarContrast` requires API level 29 (current min is 26)"
errorLine1=" &lt;item name=&quot;android:enforceNavigationBarContrast&quot;>false&lt;/item>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/styles.xml"
line="12"
column="15"/>
<location file="src/main/res/values/styles.xml" line="12" column="15" />
</issue>
<issue
id="NewApi"
message="`android:enforceStatusBarContrast` requires API level 29 (current min is 26)"
<issue id="NewApi" message="`android:enforceStatusBarContrast` requires API level 29 (current min is 26)"
errorLine1=" &lt;item name=&quot;android:enforceStatusBarContrast&quot;>false&lt;/item>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/styles.xml"
line="13"
column="15"/>
<location file="src/main/res/values/styles.xml" line="13" column="15" />
</issue>
<issue
id="NewApi"
message="`android:windowLayoutInDisplayCutoutMode` requires API level 27 (current min is 26)"
<issue id="NewApi" message="`android:windowLayoutInDisplayCutoutMode` requires API level 27 (current min is 26)"
errorLine1=" &lt;item name=&quot;android:windowLayoutInDisplayCutoutMode&quot;>shortEdges&lt;/item>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/styles.xml"
line="14"
column="15"/>
<location file="src/main/res/values/styles.xml" line="14" column="15" />
</issue>
<issue
id="NotificationPermission"
message="When targeting Android 13 or higher, posting a permission requires holding the `POST_NOTIFICATIONS` permission (usage from com.simplemobiletools.commons.asynctasks.CopyMoveTask)">
<location
file="src/main/AndroidManifest.xml"/>
<issue id="NotificationPermission"
message="When targeting Android 13 or higher, posting a permission requires holding the `POST_NOTIFICATIONS` permission (usage from org.fossify.commons.asynctasks.CopyMoveTask)">
<location file="src/main/AndroidManifest.xml" />
</issue>
<issue
id="UnusedAttribute"
message="Attribute `localeConfig` is only used in API level 33 and higher (current min is 26)"
errorLine1=" android:localeConfig=&quot;@xml/locale_config&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="30"
column="9"/>
<issue id="UnusedAttribute" message="Attribute `localeConfig` is only used in API level 33 and higher (current min is 26)"
errorLine1=" android:localeConfig=&quot;@xml/locale_config&quot;" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/AndroidManifest.xml" line="30" column="9" />
</issue>
<issue
id="CustomSplashScreen"
message="The application should not provide its own launch screen"
errorLine1="class SplashActivity : BaseSplashActivity() {"
<issue id="CustomSplashScreen" message="The application should not provide its own launch screen" errorLine1="class SplashActivity : BaseSplashActivity() {"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/simplemobiletools/launcher/activities/SplashActivity.kt"
line="6"
column="7"/>
<location file="src/main/kotlin/org/fossify/launcher/activities/SplashActivity.kt" line="6" column="7" />
</issue>
<issue
id="LockedOrientationActivity"
<issue id="LockedOrientationActivity"
message="Expecting `android:screenOrientation=&quot;unspecified&quot;` or `&quot;fullSensor&quot;` for this activity so the user can use the application in any orientation and provide a great experience on Chrome OS devices"
errorLine1=" android:screenOrientation=&quot;portrait&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="47"
column="13"/>
errorLine1=" android:screenOrientation=&quot;portrait&quot;" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/AndroidManifest.xml" line="47" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;app_launcher_name&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ar&quot; (Arabic), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nl&quot; (Dutch), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;, &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;app_launcher_name&quot;>Launcher_debug&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/debug/res/values/strings.xml"
line="3"
column="13"/>
errorLine1=" &lt;string name=&quot;app_launcher_name&quot;>Launcher_debug&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/debug/res/values/strings.xml" line="3" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;app_name&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;in&quot; (Indonesian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ar&quot; (Arabic), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ca&quot; (Catalan), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;, &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;app_name&quot;>Simple Launcher&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="3"
column="13"/>
errorLine1=" &lt;string name=&quot;app_name&quot;>Simple Launcher&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="3" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;app_launcher_name&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ar&quot; (Arabic), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nl&quot; (Dutch), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;, &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;app_launcher_name&quot;>Launcher&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="4"
column="13"/>
errorLine1=" &lt;string name=&quot;app_launcher_name&quot;>Launcher&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="4" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;launcher_settings&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;launcher_settings&quot;>Launcher Settings&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="5"
column="13"/>
errorLine1=" &lt;string name=&quot;launcher_settings&quot;>Launcher Settings&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="5" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;app_info&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;app_info&quot;>App info&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="6"
column="13"/>
errorLine1=" &lt;string name=&quot;app_info&quot;>App info&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="6" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;touch_hold_widget&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;touch_hold_widget&quot;>Long press the widget and drag it on your home screen&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="7"
column="13"/>
<location file="src/main/res/values/strings.xml" line="7" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;uninstall&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;uninstall&quot;>Uninstall&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="8"
column="13"/>
errorLine1=" &lt;string name=&quot;uninstall&quot;>Uninstall&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="8" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;hide_icon&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;hide_icon&quot;>Hide icon&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="9"
column="13"/>
errorLine1=" &lt;string name=&quot;hide_icon&quot;>Hide icon&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="9" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;add_hidden_icons&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;add_hidden_icons&quot;>Add hidden icons&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="10"
column="13"/>
errorLine1=" &lt;string name=&quot;add_hidden_icons&quot;>Add hidden icons&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="10" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;manage_hidden_icons&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;manage_hidden_icons&quot;>Manage hidden icons&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="11"
column="13"/>
errorLine1=" &lt;string name=&quot;manage_hidden_icons&quot;>Manage hidden icons&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="11" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;hidden_icons&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;hidden_icons&quot;>Hidden icons&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="12"
column="13"/>
errorLine1=" &lt;string name=&quot;hidden_icons&quot;>Hidden icons&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="12" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;hidden_icons_placeholder&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;eu&quot; (Basque), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;si&quot; (Sinhala), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;hidden_icons_placeholder&quot;>Some apps cannot be uninstalled due to system restrictions, but you can at least hide their icons to avoid seeing them.&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="13"
column="13"/>
<location file="src/main/res/values/strings.xml" line="13" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;app_drawer_settings&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;hr&quot; (Croatian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;in&quot; (Indonesian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;eu&quot; (Basque), &quot;nb&quot; (Norwegian Bokmål), &quot;ja&quot; (Japanese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;fi&quot; (Finnish), &quot;bg&quot; (Bulgarian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;sl&quot; (Slovenian), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;sr&quot; (Serbian), &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;gl&quot; (Galician), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;app_drawer_settings&quot;>App drawer&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="14"
column="13"/>
errorLine1=" &lt;string name=&quot;app_drawer_settings&quot;>App drawer&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="14" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;close_app_drawer_on_app_open&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;hr&quot; (Croatian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;in&quot; (Indonesian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;eu&quot; (Basque), &quot;nb&quot; (Norwegian Bokmål), &quot;ja&quot; (Japanese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;fi&quot; (Finnish), &quot;bg&quot; (Bulgarian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;sl&quot; (Slovenian), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;sr&quot; (Serbian), &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;gl&quot; (Galician), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;close_app_drawer_on_app_open&quot;>Close app drawer on opening an app&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="15"
column="13"/>
<location file="src/main/res/values/strings.xml" line="15" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;home_screen_settings&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;hr&quot; (Croatian), &quot;lv&quot; (Latvian), &quot;hu&quot; (Hungarian), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;in&quot; (Indonesian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;eu&quot; (Basque), &quot;ar&quot; (Arabic), &quot;nb&quot; (Norwegian Bokmål), &quot;ja&quot; (Japanese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;fi&quot; (Finnish), &quot;bg&quot; (Bulgarian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;sl&quot; (Slovenian), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ca&quot; (Catalan), &quot;ltg&quot;, &quot;sr&quot; (Serbian), &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;gl&quot; (Galician), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;home_screen_settings&quot;>Home screen&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="16"
column="13"/>
errorLine1=" &lt;string name=&quot;home_screen_settings&quot;>Home screen&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="16" column="13" />
</issue>
<issue
id="MissingTranslation"
<issue id="MissingTranslation"
message="&quot;widget_too_big&quot; is not translated in &quot;hi&quot; (Hindi), &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;hr&quot; (Croatian), &quot;lv&quot; (Latvian), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;in&quot; (Indonesian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;eu&quot; (Basque), &quot;nb&quot; (Norwegian Bokmål), &quot;ja&quot; (Japanese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;nn&quot; (Norwegian Nynorsk), &quot;be&quot; (Belarusian), &quot;fi&quot; (Finnish), &quot;bg&quot; (Bulgarian), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;sl&quot; (Slovenian), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;sr&quot; (Serbian), &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;ko&quot; (Korean), &quot;gl&quot; (Galician), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;da&quot; (Danish)"
errorLine1=" &lt;string name=&quot;widget_too_big&quot;>Widget is too big for current home screen size&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="17"
column="13"/>
<location file="src/main/res/values/strings.xml" line="17" column="13" />
</issue>
<issue
id="NotifyDataSetChanged"
<issue id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/simplemobiletools/launcher/adapters/FolderIconsAdapter.kt"
line="107"
column="9"/>
errorLine1=" notifyDataSetChanged()" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/kotlin/org/fossify/launcher/adapters/FolderIconsAdapter.kt" line="107" column="9" />
</issue>
<issue
id="NotifyDataSetChanged"
<issue id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/simplemobiletools/launcher/adapters/LaunchersAdapter.kt"
line="83"
column="13"/>
errorLine1=" notifyDataSetChanged()" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/kotlin/org/fossify/launcher/adapters/LaunchersAdapter.kt" line="83" column="13" />
</issue>
<issue
id="NotifyDataSetChanged"
<issue id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/simplemobiletools/launcher/adapters/LaunchersAdapter.kt"
line="92"
column="13"/>
errorLine1=" notifyDataSetChanged()" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/kotlin/org/fossify/launcher/adapters/LaunchersAdapter.kt" line="92" column="13" />
</issue>
<issue
id="NotifyDataSetChanged"
<issue id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/simplemobiletools/launcher/adapters/LaunchersAdapter.kt"
line="99"
column="13"/>
errorLine1=" notifyDataSetChanged()" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/kotlin/org/fossify/launcher/adapters/LaunchersAdapter.kt" line="99" column="13" />
</issue>
<issue
id="NotifyDataSetChanged"
<issue id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/simplemobiletools/launcher/adapters/WidgetsAdapter.kt"
line="120"
column="13"/>
errorLine1=" notifyDataSetChanged()" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/kotlin/org/fossify/launcher/adapters/WidgetsAdapter.kt" line="120" column="13" />
</issue>
<issue
id="NotifyDataSetChanged"
<issue id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/simplemobiletools/launcher/adapters/WidgetsAdapter.kt"
line="127"
column="13"/>
errorLine1=" notifyDataSetChanged()" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/kotlin/org/fossify/launcher/adapters/WidgetsAdapter.kt" line="127" column="13" />
</issue>
<issue
id="ObsoleteSdkInt"
<issue id="ObsoleteSdkInt"
message="This folder configuration (`v26`) is unnecessary; `minSdkVersion` is 26. Merge all the resources in this folder into `mipmap-anydpi`.">
<location
file="src/main/res/mipmap-anydpi-v26"/>
<location file="src/main/res/mipmap-anydpi-v26" />
</issue>
<issue
id="VectorPath"
<issue id="VectorPath"
message="Very long vector path (937 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" &lt;path android:fillColor=&quot;#FFFFFFFF&quot; android:pathData=&quot;M16.952 32.327c-0.206 0-0.377-0.068-0.512-0.202-0.135-0.136-0.203-0.307-0.203-0.513v-8.838l-1.429 1.096c-0.159 0.127-0.334 0.175-0.524 0.143-0.191-0.032-0.349-0.127-0.476-0.286-0.127-0.159-0.175-0.334-0.143-0.524 0.032-0.191 0.127-0.349 0.286-0.476l2.287-1.739v-2.001c0-0.206 0.067-0.377 0.202-0.512s0.306-0.202 0.512-0.202c0.206 0 0.377 0.068 0.512 0.202 0.135 0.135 0.202 0.306 0.202 0.512v0.905l5.765-4.383c0.064-0.048 0.131-0.083 0.202-0.107 0.071-0.024 0.147-0.036 0.226-0.036 0.079 0 0.155 0.012 0.226 0.036 0.071 0.024 0.139 0.06 0.202 0.107l9.505 7.242c0.159 0.127 0.25 0.286 0.274 0.476 0.024 0.191-0.028 0.365-0.155 0.524-0.127 0.159-0.282 0.25-0.465 0.274-0.183 0.024-0.353-0.028-0.512-0.155l-1.453-1.096v8.838c0 0.206-0.068 0.377-0.202 0.512-0.135 0.135-0.306 0.202-0.512 0.202h-4.35a1 1 44.991 0 1-1-1l-0.001-2.941a1.001 1.001 45.025 0 0-1-1.001l-1.114-0.001a0.999 0.999 135.043 0 0-1 0.999l-0.001 2.944a1 1 135.009 0 1-1 1z&quot;/>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/ic_launcher_monochrome.xml"
line="2"
column="59"/>
<location file="src/main/res/drawable/ic_launcher_monochrome.xml" line="2" column="59" />
</issue>
<issue
id="Overdraw"
<issue id="Overdraw"
message="Possible overdraw: Root element paints background `?attr/selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/AppTheme`)"
errorLine1=" android:background=&quot;?attr/selectableItemBackground&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_hidden_icon.xml"
line="6"
column="5"/>
errorLine1=" android:background=&quot;?attr/selectableItemBackground&quot;" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/layout/item_hidden_icon.xml" line="6" column="5" />
</issue>
<issue
id="Overdraw"
<issue id="Overdraw"
message="Possible overdraw: Root element paints background `?attr/selectableItemBackground` with a theme that also paints a background (inferred theme is `@style/AppTheme`)"
errorLine1=" android:background=&quot;?attr/selectableItemBackground&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_launcher_label.xml"
line="6"
column="5"/>
errorLine1=" android:background=&quot;?attr/selectableItemBackground&quot;" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/layout/item_launcher_label.xml" line="6" column="5" />
</issue>
<issue
id="UnusedResources"
message="The resource `R.layout.dialog_folder_icons` appears to be unused"
errorLine1="&lt;FrameLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2="^">
<location
file="src/main/res/layout/dialog_folder_icons.xml"
line="2"
column="1"/>
<issue id="UnusedResources" message="The resource `R.layout.dialog_folder_icons` appears to be unused"
errorLine1="&lt;FrameLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;" errorLine2="^">
<location file="src/main/res/layout/dialog_folder_icons.xml" line="2" column="1" />
</issue>
<issue
id="UnusedResources"
message="The resource `R.dimen.icon_long_press_anchor_offset_y` appears to be unused"
<issue id="UnusedResources" message="The resource `R.dimen.icon_long_press_anchor_offset_y` appears to be unused"
errorLine1=" &lt;dimen name=&quot;icon_long_press_anchor_offset_y&quot;>150dp&lt;/dimen>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/dimens.xml"
line="3"
column="12"/>
<location file="src/main/res/values/dimens.xml" line="3" column="12" />
</issue>
<issue
id="UnusedResources"
message="The resource `R.dimen.min_folder_view_height` appears to be unused"
errorLine1=" &lt;dimen name=&quot;min_folder_view_height&quot;>200dp&lt;/dimen>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/dimens.xml"
line="12"
column="12"/>
<issue id="UnusedResources" message="The resource `R.dimen.min_folder_view_height` appears to be unused"
errorLine1=" &lt;dimen name=&quot;min_folder_view_height&quot;>200dp&lt;/dimen>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/dimens.xml" line="12" column="12" />
</issue>
<issue
id="UnusedResources"
message="The resource `R.dimen.max_folder_view_height` appears to be unused"
errorLine1=" &lt;dimen name=&quot;max_folder_view_height&quot;>500dp&lt;/dimen>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/dimens.xml"
line="13"
column="12"/>
<issue id="UnusedResources" message="The resource `R.dimen.max_folder_view_height` appears to be unused"
errorLine1=" &lt;dimen name=&quot;max_folder_view_height&quot;>500dp&lt;/dimen>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/dimens.xml" line="13" column="12" />
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.hide_icon` appears to be unused"
errorLine1=" &lt;string name=&quot;hide_icon&quot;>Hide icon&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="9"
column="13"/>
<issue id="UnusedResources" message="The resource `R.string.hide_icon` appears to be unused"
errorLine1=" &lt;string name=&quot;hide_icon&quot;>Hide icon&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="9" column="13" />
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.add_hidden_icons` appears to be unused"
errorLine1=" &lt;string name=&quot;add_hidden_icons&quot;>Add hidden icons&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="10"
column="13"/>
<issue id="UnusedResources" message="The resource `R.string.add_hidden_icons` appears to be unused"
errorLine1=" &lt;string name=&quot;add_hidden_icons&quot;>Add hidden icons&lt;/string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/values/strings.xml" line="10" column="13" />
</issue>
<issue
id="AlwaysShowAction"
message="Prefer &quot;`ifRoom`&quot; instead of &quot;`always`&quot;"
errorLine1=" app:showAsAction=&quot;always&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/menu/menu_app_icon.xml"
line="9"
column="13"/>
<location
file="src/main/res/menu/menu_app_icon.xml"
line="14"
column="13"/>
<location
file="src/main/res/menu/menu_app_icon.xml"
line="19"
column="13"/>
<location
file="src/main/res/menu/menu_app_icon.xml"
line="24"
column="13"/>
<location
file="src/main/res/menu/menu_app_icon.xml"
line="29"
column="13"/>
<location
file="src/main/res/menu/menu_app_icon.xml"
line="34"
column="13"/>
<issue id="AlwaysShowAction" message="Prefer &quot;`ifRoom`&quot; instead of &quot;`always`&quot;"
errorLine1=" app:showAsAction=&quot;always&quot; />" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/menu/menu_app_icon.xml" line="9" column="13" />
<location file="src/main/res/menu/menu_app_icon.xml" line="14" column="13" />
<location file="src/main/res/menu/menu_app_icon.xml" line="19" column="13" />
<location file="src/main/res/menu/menu_app_icon.xml" line="24" column="13" />
<location file="src/main/res/menu/menu_app_icon.xml" line="29" column="13" />
<location file="src/main/res/menu/menu_app_icon.xml" line="34" column="13" />
</issue>
<issue
id="AlwaysShowAction"
message="Prefer &quot;`ifRoom`&quot; instead of &quot;`always`&quot;"
errorLine1=" app:showAsAction=&quot;always&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/menu/menu_home_screen.xml"
line="7"
column="9"/>
<location
file="src/main/res/menu/menu_home_screen.xml"
line="11"
column="9"/>
<issue id="AlwaysShowAction" message="Prefer &quot;`ifRoom`&quot; instead of &quot;`always`&quot;"
errorLine1=" app:showAsAction=&quot;always&quot; />" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/menu/menu_home_screen.xml" line="7" column="9" />
<location file="src/main/res/menu/menu_home_screen.xml" line="11" column="9" />
</issue>
<issue
id="ClickableViewAccessibility"
message="Custom view `MyAppWidgetHostView` overrides `onTouchEvent` but not `performClick`"
errorLine1=" override fun onTouchEvent(event: MotionEvent?): Boolean {"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/simplemobiletools/launcher/views/MyAppWidgetHostView.kt"
line="23"
column="18"/>
<issue id="ClickableViewAccessibility" message="Custom view `MyAppWidgetHostView` overrides `onTouchEvent` but not `performClick`"
errorLine1=" override fun onTouchEvent(event: MotionEvent?): Boolean {" errorLine2=" ~~~~~~~~~~~~">
<location file="src/main/kotlin/org/fossify/launcher/views/MyAppWidgetHostView.kt" line="23" column="18" />
</issue>
<issue
id="ClickableViewAccessibility"
message="Custom view `MyAppWidgetResizeFrame` overrides `onTouchEvent` but not `performClick`"
errorLine1=" override fun onTouchEvent(event: MotionEvent?): Boolean {"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/simplemobiletools/launcher/views/MyAppWidgetResizeFrame.kt"
line="105"
column="18"/>
<issue id="ClickableViewAccessibility" message="Custom view `MyAppWidgetResizeFrame` overrides `onTouchEvent` but not `performClick`"
errorLine1=" override fun onTouchEvent(event: MotionEvent?): Boolean {" errorLine2=" ~~~~~~~~~~~~">
<location file="src/main/kotlin/org/fossify/launcher/views/MyAppWidgetResizeFrame.kt" line="105" column="18" />
</issue>
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
errorLine1=" &lt;ImageView"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/res/layout/item_widget_preview.xml"
line="9"
column="6"/>
<issue id="ContentDescription" message="Missing `contentDescription` attribute on image" errorLine1=" &lt;ImageView" errorLine2=" ~~~~~~~~~">
<location file="src/main/res/layout/item_widget_preview.xml" line="9" column="6" />
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;@dimen/medium_margin&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_widget_list_section.xml"
line="27"
column="9"/>
<issue id="RtlSymmetry" message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;@dimen/medium_margin&quot;" errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location file="src/main/res/layout/item_widget_list_section.xml" line="27" column="9" />
</issue>
</issues>

View File

@@ -0,0 +1,242 @@
{
"formatVersion": 1,
"database": {
"version": 5,
"identityHash": "38ee4c5e67d8efd6cd89925eea5da205",
"entities": [
{
"tableName": "apps",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `title` TEXT NOT NULL, `package_name` TEXT NOT NULL, `activity_name` TEXT NOT NULL, `order` INTEGER NOT NULL, `thumbnail_color` INTEGER NOT NULL)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "title",
"columnName": "title",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "packageName",
"columnName": "package_name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "activityName",
"columnName": "activity_name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "order",
"columnName": "order",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "thumbnailColor",
"columnName": "thumbnail_color",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"id"
]
},
"indices": [
{
"name": "index_apps_package_name",
"unique": true,
"columnNames": [
"package_name"
],
"orders": [],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_apps_package_name` ON `${TABLE_NAME}` (`package_name`)"
}
],
"foreignKeys": []
},
{
"tableName": "home_screen_grid_items",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `left` INTEGER NOT NULL, `top` INTEGER NOT NULL, `right` INTEGER NOT NULL, `bottom` INTEGER NOT NULL, `page` INTEGER NOT NULL, `package_name` TEXT NOT NULL, `activity_name` TEXT NOT NULL, `title` TEXT NOT NULL, `type` INTEGER NOT NULL, `class_name` TEXT NOT NULL, `widget_id` INTEGER NOT NULL, `shortcut_id` TEXT NOT NULL, `icon` BLOB, `docked` INTEGER NOT NULL, `parent_id` INTEGER)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "left",
"columnName": "left",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "top",
"columnName": "top",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "right",
"columnName": "right",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "bottom",
"columnName": "bottom",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "page",
"columnName": "page",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "packageName",
"columnName": "package_name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "activityName",
"columnName": "activity_name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "title",
"columnName": "title",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "type",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "className",
"columnName": "class_name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "widgetId",
"columnName": "widget_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "shortcutId",
"columnName": "shortcut_id",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "icon",
"columnName": "icon",
"affinity": "BLOB",
"notNull": false
},
{
"fieldPath": "docked",
"columnName": "docked",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "parentId",
"columnName": "parent_id",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"id"
]
},
"indices": [
{
"name": "index_home_screen_grid_items_id",
"unique": true,
"columnNames": [
"id"
],
"orders": [],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_home_screen_grid_items_id` ON `${TABLE_NAME}` (`id`)"
}
],
"foreignKeys": []
},
{
"tableName": "hidden_icons",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `package_name` TEXT NOT NULL, `activity_name` TEXT NOT NULL, `title` TEXT NOT NULL)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "packageName",
"columnName": "package_name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "activityName",
"columnName": "activity_name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "title",
"columnName": "title",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"autoGenerate": true,
"columnNames": [
"id"
]
},
"indices": [
{
"name": "index_hidden_icons_id",
"unique": true,
"columnNames": [
"id"
],
"orders": [],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_hidden_icons_id` ON `${TABLE_NAME}` (`id`)"
}
],
"foreignKeys": []
}
],
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '38ee4c5e67d8efd6cd89925eea5da205')"
]
}
}

View File

@@ -72,13 +72,13 @@
</activity>
<activity
android:name="com.simplemobiletools.commons.activities.AboutActivity"
android:name="org.fossify.commons.activities.AboutActivity"
android:exported="false"
android:label="@string/about"
android:parentActivityName=".activities.SettingsActivity" />
<activity
android:name="com.simplemobiletools.commons.activities.CustomizationActivity"
android:name="org.fossify.commons.activities.CustomizationActivity"
android:exported="false"
android:label="@string/customize_colors"
android:parentActivityName=".activities.SettingsActivity" />

View File

@@ -1,7 +0,0 @@
package com.simplemobiletools.launcher.interfaces
import com.simplemobiletools.launcher.models.AppWidget
interface WidgetsFragmentListener {
fun onWidgetLongPressed(appWidget: AppWidget)
}

View File

@@ -1,21 +1,21 @@
package com.simplemobiletools.launcher.activities
package org.fossify.launcher.activities
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import com.simplemobiletools.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.normalizeString
import com.simplemobiletools.commons.extensions.viewBinding
import com.simplemobiletools.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyGridLayoutManager
import com.simplemobiletools.launcher.adapters.HiddenIconsAdapter
import com.simplemobiletools.launcher.databinding.ActivityHiddenIconsBinding
import com.simplemobiletools.launcher.extensions.config
import com.simplemobiletools.launcher.extensions.getDrawableForPackageName
import com.simplemobiletools.launcher.extensions.hiddenIconsDB
import com.simplemobiletools.launcher.models.HiddenIcon
import org.fossify.commons.extensions.beVisibleIf
import org.fossify.commons.extensions.normalizeString
import org.fossify.commons.extensions.viewBinding
import org.fossify.commons.helpers.NavigationIcon
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import org.fossify.commons.views.MyGridLayoutManager
import org.fossify.launcher.adapters.HiddenIconsAdapter
import org.fossify.launcher.databinding.ActivityHiddenIconsBinding
import org.fossify.launcher.extensions.config
import org.fossify.launcher.extensions.getDrawableForPackageName
import org.fossify.launcher.extensions.hiddenIconsDB
import org.fossify.launcher.models.HiddenIcon
class HiddenIconsActivity : SimpleActivity(), RefreshRecyclerViewListener {
private val binding by viewBinding(ActivityHiddenIconsBinding::inflate)

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.activities
package org.fossify.launcher.activities
import android.animation.ObjectAnimator
import android.annotation.SuppressLint
@@ -35,23 +35,25 @@ import androidx.core.view.WindowCompat
import androidx.core.view.isVisible
import androidx.core.view.iterator
import androidx.viewbinding.ViewBinding
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.launcher.BuildConfig
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.databinding.ActivityMainBinding
import com.simplemobiletools.launcher.databinding.AllAppsFragmentBinding
import com.simplemobiletools.launcher.databinding.WidgetsFragmentBinding
import com.simplemobiletools.launcher.dialogs.RenameItemDialog
import com.simplemobiletools.launcher.extensions.*
import com.simplemobiletools.launcher.fragments.MyFragment
import com.simplemobiletools.launcher.helpers.*
import com.simplemobiletools.launcher.interfaces.FlingListener
import com.simplemobiletools.launcher.interfaces.ItemMenuListener
import com.simplemobiletools.launcher.models.AppLauncher
import com.simplemobiletools.launcher.models.HiddenIcon
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import kotlinx.collections.immutable.toImmutableList
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.DARK_GREY
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.helpers.isPiePlus
import org.fossify.launcher.BuildConfig
import org.fossify.launcher.R
import org.fossify.launcher.databinding.ActivityMainBinding
import org.fossify.launcher.databinding.AllAppsFragmentBinding
import org.fossify.launcher.databinding.WidgetsFragmentBinding
import org.fossify.launcher.dialogs.RenameItemDialog
import org.fossify.launcher.extensions.*
import org.fossify.launcher.fragments.MyFragment
import org.fossify.launcher.helpers.*
import org.fossify.launcher.interfaces.FlingListener
import org.fossify.launcher.interfaces.ItemMenuListener
import org.fossify.launcher.models.AppLauncher
import org.fossify.launcher.models.HiddenIcon
import org.fossify.launcher.models.HomeScreenGridItem
import kotlin.math.abs
class MainActivity : SimpleActivity(), FlingListener {
@@ -687,7 +689,7 @@ class MainActivity : SimpleActivity(), FlingListener {
startActivity(this)
}
} catch (e: ActivityNotFoundException) {
toast(com.simplemobiletools.commons.R.string.no_app_found)
toast(org.fossify.commons.R.string.no_app_found)
} catch (e: Exception) {
showErrorToast(e)
}
@@ -856,7 +858,8 @@ class MainActivity : SimpleActivity(), FlingListener {
// add Simple Launchers settings as an app
val drawable = getDrawableForPackageName(packageName)
val placeholderColor = calculateAverageColor(drawable!!.toBitmap())
val launcherSettings = AppLauncher(null, getString(R.string.launcher_settings), packageName, "", 0, placeholderColor, drawable.toBitmap().toDrawable(resources))
val launcherSettings =
AppLauncher(null, getString(R.string.launcher_settings), packageName, "", 0, placeholderColor, drawable.toBitmap().toDrawable(resources))
allApps.add(launcherSettings)
launchersDB.insertAll(allApps)
return allApps

View File

@@ -1,21 +1,21 @@
package com.simplemobiletools.launcher.activities
package org.fossify.launcher.activities
import android.content.Intent
import android.os.Bundle
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.isTiramisuPlus
import com.simplemobiletools.commons.models.FAQItem
import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.launcher.BuildConfig
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.databinding.ActivitySettingsBinding
import com.simplemobiletools.launcher.extensions.config
import com.simplemobiletools.launcher.helpers.MAX_COLUMN_COUNT
import com.simplemobiletools.launcher.helpers.MAX_ROW_COUNT
import com.simplemobiletools.launcher.helpers.MIN_COLUMN_COUNT
import com.simplemobiletools.launcher.helpers.MIN_ROW_COUNT
import org.fossify.commons.dialogs.RadioGroupDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.NavigationIcon
import org.fossify.commons.helpers.isTiramisuPlus
import org.fossify.commons.models.FAQItem
import org.fossify.commons.models.RadioItem
import org.fossify.launcher.BuildConfig
import org.fossify.launcher.R
import org.fossify.launcher.databinding.ActivitySettingsBinding
import org.fossify.launcher.extensions.config
import org.fossify.launcher.helpers.MAX_COLUMN_COUNT
import org.fossify.launcher.helpers.MAX_ROW_COUNT
import org.fossify.launcher.helpers.MIN_COLUMN_COUNT
import org.fossify.launcher.helpers.MIN_ROW_COUNT
import java.util.Locale
import kotlin.system.exitProcess
@@ -72,7 +72,7 @@ class SettingsActivity : SimpleActivity() {
private fun refreshMenuItems() {
binding.settingsToolbar.menu.apply {
findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(com.simplemobiletools.commons.R.bool.hide_google_relations)
findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations)
}
}
@@ -114,7 +114,7 @@ class SettingsActivity : SimpleActivity() {
binding.settingsDrawerColumnCountHolder.setOnClickListener {
val items = ArrayList<RadioItem>()
for (i in 1..MAX_COLUMN_COUNT) {
items.add(RadioItem(i, resources.getQuantityString(com.simplemobiletools.commons.R.plurals.column_counts, i, i)))
items.add(RadioItem(i, resources.getQuantityString(org.fossify.commons.R.plurals.column_counts, i, i)))
}
RadioGroupDialog(this, items, currentColumnCount) {
@@ -142,7 +142,7 @@ class SettingsActivity : SimpleActivity() {
binding.settingsHomeScreenRowCountHolder.setOnClickListener {
val items = ArrayList<RadioItem>()
for (i in MIN_ROW_COUNT..MAX_ROW_COUNT) {
items.add(RadioItem(i, resources.getQuantityString(com.simplemobiletools.commons.R.plurals.row_counts, i, i)))
items.add(RadioItem(i, resources.getQuantityString(org.fossify.commons.R.plurals.row_counts, i, i)))
}
RadioGroupDialog(this, items, currentRowCount) {
@@ -161,7 +161,7 @@ class SettingsActivity : SimpleActivity() {
binding.settingsHomeScreenColumnCountHolder.setOnClickListener {
val items = ArrayList<RadioItem>()
for (i in MIN_COLUMN_COUNT..MAX_COLUMN_COUNT) {
items.add(RadioItem(i, resources.getQuantityString(com.simplemobiletools.commons.R.plurals.column_counts, i, i)))
items.add(RadioItem(i, resources.getQuantityString(org.fossify.commons.R.plurals.column_counts, i, i)))
}
RadioGroupDialog(this, items, currentColumnCount) {
@@ -192,9 +192,9 @@ class SettingsActivity : SimpleActivity() {
val licenses = 0L
val faqItems = ArrayList<FAQItem>()
if (!resources.getBoolean(com.simplemobiletools.commons.R.bool.hide_google_relations)) {
faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_2_title_commons, com.simplemobiletools.commons.R.string.faq_2_text_commons))
faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_6_title_commons, com.simplemobiletools.commons.R.string.faq_6_text_commons))
if (!resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations)) {
faqItems.add(FAQItem(org.fossify.commons.R.string.faq_2_title_commons, org.fossify.commons.R.string.faq_2_text_commons))
faqItems.add(FAQItem(org.fossify.commons.R.string.faq_6_title_commons, org.fossify.commons.R.string.faq_6_text_commons))
}
startAboutActivity(R.string.app_name, licenses, BuildConfig.VERSION_NAME, faqItems, true)

View File

@@ -1,7 +1,7 @@
package com.simplemobiletools.launcher.activities
package org.fossify.launcher.activities
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.launcher.R
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.launcher.R
open class SimpleActivity : BaseSimpleActivity() {
override fun getAppIconIDs() = arrayListOf(

View File

@@ -1,7 +1,7 @@
package com.simplemobiletools.launcher.activities
package org.fossify.launcher.activities
import android.content.Intent
import com.simplemobiletools.commons.activities.BaseSplashActivity
import org.fossify.commons.activities.BaseSplashActivity
class SplashActivity : BaseSplashActivity() {
override fun initActivity() {

View File

@@ -1,18 +1,18 @@
package com.simplemobiletools.launcher.adapters
package org.fossify.launcher.adapters
import android.view.Menu
import android.view.View
import android.view.ViewGroup
import androidx.core.view.iterator
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.activities.MainActivity
import com.simplemobiletools.launcher.databinding.ItemLauncherLabelBinding
import com.simplemobiletools.launcher.extensions.handleGridItemPopupMenu
import com.simplemobiletools.launcher.interfaces.ItemMenuListenerAdapter
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.adapters.MyRecyclerViewAdapter
import org.fossify.commons.views.MyRecyclerView
import org.fossify.launcher.R
import org.fossify.launcher.activities.MainActivity
import org.fossify.launcher.databinding.ItemLauncherLabelBinding
import org.fossify.launcher.extensions.handleGridItemPopupMenu
import org.fossify.launcher.interfaces.ItemMenuListenerAdapter
import org.fossify.launcher.models.HomeScreenGridItem
class FolderIconsAdapter(
activity: BaseSimpleActivity, var items: MutableList<HomeScreenGridItem>, private val iconPadding: Int,

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.adapters
package org.fossify.launcher.adapters
import android.view.Menu
import android.view.View
@@ -7,17 +7,17 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
import com.bumptech.glide.request.transition.DrawableCrossFadeFactory
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.extensions.portrait
import com.simplemobiletools.commons.extensions.realScreenSize
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.databinding.ItemHiddenIconBinding
import com.simplemobiletools.launcher.extensions.hiddenIconsDB
import com.simplemobiletools.launcher.models.HiddenIcon
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.adapters.MyRecyclerViewAdapter
import org.fossify.commons.extensions.portrait
import org.fossify.commons.extensions.realScreenSize
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import org.fossify.commons.views.MyRecyclerView
import org.fossify.launcher.R
import org.fossify.launcher.databinding.ItemHiddenIconBinding
import org.fossify.launcher.extensions.hiddenIconsDB
import org.fossify.launcher.models.HiddenIcon
class HiddenIconsAdapter(
activity: BaseSimpleActivity,

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.adapters
package org.fossify.launcher.adapters
import android.graphics.drawable.Drawable
import android.view.LayoutInflater
@@ -12,16 +12,16 @@ import com.bumptech.glide.request.target.DrawableImageViewTarget
import com.bumptech.glide.request.transition.DrawableCrossFadeFactory
import com.bumptech.glide.request.transition.Transition
import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller
import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
import com.simplemobiletools.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.extensions.realScreenSize
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.activities.SimpleActivity
import com.simplemobiletools.launcher.databinding.ItemLauncherLabelBinding
import com.simplemobiletools.launcher.extensions.config
import com.simplemobiletools.launcher.interfaces.AllAppsListener
import com.simplemobiletools.launcher.models.AppLauncher
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import org.fossify.commons.extensions.getColoredDrawableWithColor
import org.fossify.commons.extensions.getProperTextColor
import org.fossify.commons.extensions.realScreenSize
import org.fossify.launcher.R
import org.fossify.launcher.activities.SimpleActivity
import org.fossify.launcher.databinding.ItemLauncherLabelBinding
import org.fossify.launcher.extensions.config
import org.fossify.launcher.interfaces.AllAppsListener
import org.fossify.launcher.models.AppLauncher
import org.fossify.launcher.models.HomeScreenGridItem
class LaunchersAdapter(
val activity: SimpleActivity,

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.adapters
package org.fossify.launcher.adapters
import android.view.LayoutInflater
import android.view.View
@@ -6,18 +6,18 @@ import android.view.ViewGroup
import android.widget.RelativeLayout
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.simplemobiletools.commons.extensions.getProperTextColor
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.activities.SimpleActivity
import com.simplemobiletools.launcher.databinding.ItemWidgetListItemsHolderBinding
import com.simplemobiletools.launcher.databinding.ItemWidgetListSectionBinding
import com.simplemobiletools.launcher.databinding.ItemWidgetPreviewBinding
import com.simplemobiletools.launcher.helpers.WIDGET_LIST_ITEMS_HOLDER
import com.simplemobiletools.launcher.helpers.WIDGET_LIST_SECTION
import com.simplemobiletools.launcher.interfaces.WidgetsFragmentListener
import com.simplemobiletools.launcher.models.WidgetsListItem
import com.simplemobiletools.launcher.models.WidgetsListItemsHolder
import com.simplemobiletools.launcher.models.WidgetsListSection
import org.fossify.commons.extensions.getProperTextColor
import org.fossify.launcher.R
import org.fossify.launcher.activities.SimpleActivity
import org.fossify.launcher.databinding.ItemWidgetListItemsHolderBinding
import org.fossify.launcher.databinding.ItemWidgetListSectionBinding
import org.fossify.launcher.databinding.ItemWidgetPreviewBinding
import org.fossify.launcher.helpers.WIDGET_LIST_ITEMS_HOLDER
import org.fossify.launcher.helpers.WIDGET_LIST_SECTION
import org.fossify.launcher.interfaces.WidgetsFragmentListener
import org.fossify.launcher.models.WidgetsListItem
import org.fossify.launcher.models.WidgetsListItemsHolder
import org.fossify.launcher.models.WidgetsListSection
class WidgetsAdapter(
val activity: SimpleActivity,
@@ -73,7 +73,7 @@ class WidgetsAdapter(
binding.widgetListItemsHolder.addView(widgetPreview.root)
val endMargin = if (index == listItem.widgets.size - 1) {
activity.resources.getDimension(com.simplemobiletools.commons.R.dimen.medium_margin).toInt()
activity.resources.getDimension(org.fossify.commons.R.dimen.medium_margin).toInt()
} else {
0
}
@@ -85,7 +85,7 @@ class WidgetsAdapter(
widgetPreview.widgetSize.apply {
text = if (widget.isShortcut) {
activity.getString(com.simplemobiletools.commons.R.string.shortcut)
activity.getString(org.fossify.commons.R.string.shortcut)
} else {
"${widget.widthCells} x ${widget.heightCells}"
}
@@ -93,7 +93,7 @@ class WidgetsAdapter(
}
(widgetPreview.widgetImage.layoutParams as RelativeLayout.LayoutParams).apply {
marginStart = activity.resources.getDimension(com.simplemobiletools.commons.R.dimen.activity_margin).toInt()
marginStart = activity.resources.getDimension(org.fossify.commons.R.dimen.activity_margin).toInt()
marginEnd = endMargin
width = imageSize
height = imageSize

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.databases
package org.fossify.launcher.databases
import android.content.Context
import androidx.room.Database
@@ -7,13 +7,13 @@ import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
import com.simplemobiletools.launcher.helpers.Converters
import com.simplemobiletools.launcher.interfaces.AppLaunchersDao
import com.simplemobiletools.launcher.interfaces.HiddenIconsDao
import com.simplemobiletools.launcher.interfaces.HomeScreenGridItemsDao
import com.simplemobiletools.launcher.models.AppLauncher
import com.simplemobiletools.launcher.models.HiddenIcon
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import org.fossify.launcher.helpers.Converters
import org.fossify.launcher.interfaces.AppLaunchersDao
import org.fossify.launcher.interfaces.HiddenIconsDao
import org.fossify.launcher.interfaces.HomeScreenGridItemsDao
import org.fossify.launcher.models.AppLauncher
import org.fossify.launcher.models.HiddenIcon
import org.fossify.launcher.models.HomeScreenGridItem
@Database(entities = [AppLauncher::class, HomeScreenGridItem::class, HiddenIcon::class], version = 5)
@TypeConverters(Converters::class)

View File

@@ -1,12 +1,12 @@
package com.simplemobiletools.launcher.dialogs
package org.fossify.launcher.dialogs
import android.app.Activity
import android.app.AlertDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.launcher.databinding.DialogRenameItemBinding
import com.simplemobiletools.launcher.extensions.homeScreenGridItemsDB
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.launcher.databinding.DialogRenameItemBinding
import org.fossify.launcher.extensions.homeScreenGridItemsDB
import org.fossify.launcher.models.HomeScreenGridItem
class RenameItemDialog(val activity: Activity, val item: HomeScreenGridItem, val callback: () -> Unit) {
@@ -16,10 +16,10 @@ class RenameItemDialog(val activity: Activity, val item: HomeScreenGridItem, val
binding.renameItemEdittext.setText(item.title)
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null)
.setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply {
activity.setupDialogStuff(view, this, com.simplemobiletools.commons.R.string.rename) { alertDialog ->
activity.setupDialogStuff(view, this, org.fossify.commons.R.string.rename) { alertDialog ->
alertDialog.showKeyboard(binding.renameItemEdittext)
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
val newTitle = binding.renameItemEdittext.value
@@ -30,11 +30,11 @@ class RenameItemDialog(val activity: Activity, val item: HomeScreenGridItem, val
callback()
alertDialog.dismiss()
} else {
activity.toast(com.simplemobiletools.commons.R.string.unknown_error_occurred)
activity.toast(org.fossify.commons.R.string.unknown_error_occurred)
}
}
} else {
activity.toast(com.simplemobiletools.commons.R.string.value_cannot_be_empty)
activity.toast(org.fossify.commons.R.string.value_cannot_be_empty)
}
}
}

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.extensions
package org.fossify.launcher.extensions
import android.app.Activity
import android.content.ComponentName
@@ -21,19 +21,19 @@ import androidx.core.graphics.drawable.toDrawable
import androidx.core.view.MenuCompat
import androidx.core.view.forEach
import com.google.android.material.color.MaterialColors
import com.simplemobiletools.commons.extensions.getPopupMenuTheme
import com.simplemobiletools.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.extensions.showErrorToast
import com.simplemobiletools.commons.helpers.isQPlus
import com.simplemobiletools.commons.helpers.isSPlus
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.activities.SettingsActivity
import com.simplemobiletools.launcher.helpers.ITEM_TYPE_FOLDER
import com.simplemobiletools.launcher.helpers.ITEM_TYPE_ICON
import com.simplemobiletools.launcher.helpers.ITEM_TYPE_WIDGET
import com.simplemobiletools.launcher.helpers.UNINSTALL_APP_REQUEST_CODE
import com.simplemobiletools.launcher.interfaces.ItemMenuListener
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import org.fossify.commons.extensions.getPopupMenuTheme
import org.fossify.commons.extensions.getProperTextColor
import org.fossify.commons.extensions.showErrorToast
import org.fossify.commons.helpers.isQPlus
import org.fossify.commons.helpers.isSPlus
import org.fossify.launcher.R
import org.fossify.launcher.activities.SettingsActivity
import org.fossify.launcher.helpers.ITEM_TYPE_FOLDER
import org.fossify.launcher.helpers.ITEM_TYPE_ICON
import org.fossify.launcher.helpers.ITEM_TYPE_WIDGET
import org.fossify.launcher.helpers.UNINSTALL_APP_REQUEST_CODE
import org.fossify.launcher.interfaces.ItemMenuListener
import org.fossify.launcher.models.HomeScreenGridItem
fun Activity.launchApp(packageName: String, activityName: String) {
// if this is true, launch the app settings

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.extensions
package org.fossify.launcher.extensions
import android.appwidget.AppWidgetProviderInfo
import android.content.Context
@@ -6,12 +6,12 @@ import android.content.pm.LauncherApps
import android.graphics.drawable.Drawable
import android.os.Process
import android.util.Size
import com.simplemobiletools.commons.helpers.isSPlus
import com.simplemobiletools.launcher.databases.AppsDatabase
import com.simplemobiletools.launcher.helpers.Config
import com.simplemobiletools.launcher.interfaces.AppLaunchersDao
import com.simplemobiletools.launcher.interfaces.HiddenIconsDao
import com.simplemobiletools.launcher.interfaces.HomeScreenGridItemsDao
import org.fossify.commons.helpers.isSPlus
import org.fossify.launcher.databases.AppsDatabase
import org.fossify.launcher.helpers.Config
import org.fossify.launcher.interfaces.AppLaunchersDao
import org.fossify.launcher.interfaces.HiddenIconsDao
import org.fossify.launcher.interfaces.HomeScreenGridItemsDao
val Context.config: Config get() = Config.newInstance(applicationContext)

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.extensions
package org.fossify.launcher.extensions
import android.content.pm.ShortcutInfo

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.fragments
package org.fossify.launcher.fragments
import android.annotation.SuppressLint
import android.content.Context
@@ -7,18 +7,18 @@ import android.util.AttributeSet
import android.view.MotionEvent
import android.view.Surface
import android.view.WindowManager
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.isRPlus
import com.simplemobiletools.commons.views.MyGridLayoutManager
import com.simplemobiletools.launcher.activities.MainActivity
import com.simplemobiletools.launcher.adapters.LaunchersAdapter
import com.simplemobiletools.launcher.databinding.AllAppsFragmentBinding
import com.simplemobiletools.launcher.extensions.config
import com.simplemobiletools.launcher.extensions.launchApp
import com.simplemobiletools.launcher.helpers.ITEM_TYPE_ICON
import com.simplemobiletools.launcher.interfaces.AllAppsListener
import com.simplemobiletools.launcher.models.AppLauncher
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.isRPlus
import org.fossify.commons.views.MyGridLayoutManager
import org.fossify.launcher.activities.MainActivity
import org.fossify.launcher.adapters.LaunchersAdapter
import org.fossify.launcher.databinding.AllAppsFragmentBinding
import org.fossify.launcher.extensions.config
import org.fossify.launcher.extensions.launchApp
import org.fossify.launcher.helpers.ITEM_TYPE_ICON
import org.fossify.launcher.interfaces.AllAppsListener
import org.fossify.launcher.models.AppLauncher
import org.fossify.launcher.models.HomeScreenGridItem
class AllAppsFragment(context: Context, attributeSet: AttributeSet) : MyFragment<AllAppsFragmentBinding>(context, attributeSet), AllAppsListener {
private var lastTouchCoords = Pair(0f, 0f)
@@ -165,7 +165,7 @@ class AllAppsFragment(context: Context, attributeSet: AttributeSet) : MyFragment
}
}
binding.allAppsGrid.setPadding(0, 0, resources.getDimension(com.simplemobiletools.commons.R.dimen.medium_margin).toInt(), bottomListPadding)
binding.allAppsGrid.setPadding(0, 0, resources.getDimension(org.fossify.commons.R.dimen.medium_margin).toInt(), bottomListPadding)
binding.allAppsFastscroller.setPadding(leftListPadding, 0, rightListPadding, 0)
hasTopPadding = addTopPadding
@@ -175,7 +175,7 @@ class AllAppsFragment(context: Context, attributeSet: AttributeSet) : MyFragment
(binding.allAppsGrid.adapter as? LaunchersAdapter)?.updateTextColor(context.getProperTextColor())
binding.searchBar.beVisibleIf(context.config.showSearchBar)
binding.searchBar.getToolbar()?.beGone()
binding.searchBar.getToolbar().beGone()
binding.searchBar.updateColors()
binding.searchBar.setupMenu()

View File

@@ -1,10 +1,10 @@
package com.simplemobiletools.launcher.fragments
package org.fossify.launcher.fragments
import android.content.Context
import android.util.AttributeSet
import android.widget.RelativeLayout
import androidx.viewbinding.ViewBinding
import com.simplemobiletools.launcher.activities.MainActivity
import org.fossify.launcher.activities.MainActivity
abstract class MyFragment<BINDING : ViewBinding>(context: Context, attributeSet: AttributeSet) : RelativeLayout(context, attributeSet) {
protected var activity: MainActivity? = null

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.fragments
package org.fossify.launcher.fragments
import android.annotation.SuppressLint
import android.appwidget.AppWidgetManager
@@ -12,19 +12,19 @@ import android.util.AttributeSet
import android.view.MotionEvent
import android.view.Surface
import android.view.WindowManager
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isRPlus
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.activities.MainActivity
import com.simplemobiletools.launcher.adapters.WidgetsAdapter
import com.simplemobiletools.launcher.databinding.WidgetsFragmentBinding
import com.simplemobiletools.launcher.extensions.config
import com.simplemobiletools.launcher.extensions.getInitialCellSize
import com.simplemobiletools.launcher.helpers.ITEM_TYPE_SHORTCUT
import com.simplemobiletools.launcher.helpers.ITEM_TYPE_WIDGET
import com.simplemobiletools.launcher.interfaces.WidgetsFragmentListener
import com.simplemobiletools.launcher.models.*
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.helpers.isRPlus
import org.fossify.launcher.R
import org.fossify.launcher.activities.MainActivity
import org.fossify.launcher.adapters.WidgetsAdapter
import org.fossify.launcher.databinding.WidgetsFragmentBinding
import org.fossify.launcher.extensions.config
import org.fossify.launcher.extensions.getInitialCellSize
import org.fossify.launcher.helpers.ITEM_TYPE_SHORTCUT
import org.fossify.launcher.helpers.ITEM_TYPE_WIDGET
import org.fossify.launcher.interfaces.WidgetsFragmentListener
import org.fossify.launcher.models.*
class WidgetsFragment(context: Context, attributeSet: AttributeSet) : MyFragment<WidgetsFragmentBinding>(context, attributeSet), WidgetsFragmentListener {
private var lastTouchCoords = Pair(0f, 0f)

View File

@@ -1,8 +1,8 @@
package com.simplemobiletools.launcher.helpers
package org.fossify.launcher.helpers
import android.content.Context
import com.simplemobiletools.commons.helpers.BaseConfig
import com.simplemobiletools.launcher.R
import org.fossify.commons.helpers.BaseConfig
import org.fossify.launcher.R
class Config(context: Context) : BaseConfig(context) {
companion object {

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.helpers
package org.fossify.launcher.helpers
const val WIDGET_LIST_SECTION = 0
const val WIDGET_LIST_ITEMS_HOLDER = 1

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.helpers
package org.fossify.launcher.helpers
import android.graphics.Bitmap
import android.graphics.BitmapFactory

View File

@@ -1,6 +1,6 @@
package com.simplemobiletools.launcher.interfaces
package org.fossify.launcher.interfaces
import com.simplemobiletools.launcher.models.AppLauncher
import org.fossify.launcher.models.AppLauncher
interface AllAppsListener {
fun onAppLauncherLongPressed(x: Float, y: Float, appLauncher: AppLauncher)

View File

@@ -1,10 +1,10 @@
package com.simplemobiletools.launcher.interfaces
package org.fossify.launcher.interfaces
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import com.simplemobiletools.launcher.models.AppLauncher
import org.fossify.launcher.models.AppLauncher
@Dao
interface AppLaunchersDao {

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.interfaces
package org.fossify.launcher.interfaces
interface FlingListener {
fun onFlingUp()

View File

@@ -1,7 +1,7 @@
package com.simplemobiletools.launcher.interfaces
package org.fossify.launcher.interfaces
import androidx.room.*
import com.simplemobiletools.launcher.models.HiddenIcon
import org.fossify.launcher.models.HiddenIcon
@Dao
interface HiddenIconsDao {

View File

@@ -1,7 +1,7 @@
package com.simplemobiletools.launcher.interfaces
package org.fossify.launcher.interfaces
import androidx.room.*
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import org.fossify.launcher.models.HomeScreenGridItem
@Dao
interface HomeScreenGridItemsDao {

View File

@@ -1,7 +1,7 @@
package com.simplemobiletools.launcher.interfaces
package org.fossify.launcher.interfaces
import android.view.Menu
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import org.fossify.launcher.models.HomeScreenGridItem
interface ItemMenuListener {
fun onAnyClick()

View File

@@ -0,0 +1,7 @@
package org.fossify.launcher.interfaces
import org.fossify.launcher.models.AppWidget
interface WidgetsFragmentListener {
fun onWidgetLongPressed(appWidget: AppWidget)
}

View File

@@ -1,10 +1,10 @@
package com.simplemobiletools.launcher.models
package org.fossify.launcher.models
import android.graphics.drawable.Drawable
import androidx.room.*
import com.simplemobiletools.commons.extensions.normalizeString
import com.simplemobiletools.commons.helpers.SORT_BY_TITLE
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
import org.fossify.commons.extensions.normalizeString
import org.fossify.commons.helpers.SORT_BY_TITLE
import org.fossify.commons.helpers.SORT_DESCENDING
@Entity(tableName = "apps", indices = [(Index(value = ["package_name"], unique = true))])
data class AppLauncher(

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.models
package org.fossify.launcher.models
import android.appwidget.AppWidgetProviderInfo
import android.content.pm.ActivityInfo

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.models
package org.fossify.launcher.models
import android.graphics.drawable.Drawable
import androidx.room.*

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.models
package org.fossify.launcher.models
import android.appwidget.AppWidgetProviderInfo
import android.content.pm.ActivityInfo
@@ -6,7 +6,7 @@ import android.graphics.Bitmap
import android.graphics.Point
import android.graphics.drawable.Drawable
import androidx.room.*
import com.simplemobiletools.launcher.helpers.ITEM_TYPE_ICON
import org.fossify.launcher.helpers.ITEM_TYPE_ICON
// grid cells are from 0-5 by default. Icons and shortcuts occupy 1 slot only, widgets can be bigger
@Entity(tableName = "home_screen_grid_items", indices = [(Index(value = ["id"], unique = true))])

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.models
package org.fossify.launcher.models
abstract class WidgetsListItem {
abstract fun getHashToCompare(): Int

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.models
package org.fossify.launcher.models
open class WidgetsListItemsHolder(val widgets: ArrayList<AppWidget>) : WidgetsListItem() {
override fun getHashToCompare() = widgets.sumOf { it.getHashToCompare() }

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.models
package org.fossify.launcher.models
import android.graphics.drawable.Drawable

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.views
package org.fossify.launcher.views
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
@@ -34,17 +34,20 @@ import androidx.core.view.ViewCompat
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat
import androidx.customview.widget.ExploreByTouchHelper
import com.google.android.material.math.MathUtils
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.activities.MainActivity
import com.simplemobiletools.launcher.databinding.HomeScreenGridBinding
import com.simplemobiletools.launcher.extensions.config
import com.simplemobiletools.launcher.extensions.getDrawableForPackageName
import com.simplemobiletools.launcher.extensions.homeScreenGridItemsDB
import com.simplemobiletools.launcher.helpers.*
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import kotlinx.collections.immutable.toImmutableList
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.HIGHER_ALPHA
import org.fossify.commons.helpers.MEDIUM_ALPHA
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.helpers.isSPlus
import org.fossify.launcher.R
import org.fossify.launcher.activities.MainActivity
import org.fossify.launcher.databinding.HomeScreenGridBinding
import org.fossify.launcher.extensions.config
import org.fossify.launcher.extensions.getDrawableForPackageName
import org.fossify.launcher.extensions.homeScreenGridItemsDB
import org.fossify.launcher.helpers.*
import org.fossify.launcher.models.HomeScreenGridItem
import kotlin.math.*
class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : RelativeLayout(context, attrs, defStyle) {
@@ -60,9 +63,9 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
var cellHeight = 0
private var iconMargin = (context.resources.getDimension(R.dimen.icon_side_margin) * 5 / columnCount).toInt()
private var labelSideMargin = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.small_margin).toInt()
private var roundedCornerRadius = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.activity_margin)
private var folderPadding = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.medium_margin)
private var labelSideMargin = context.resources.getDimension(org.fossify.commons.R.dimen.small_margin).toInt()
private var roundedCornerRadius = context.resources.getDimension(org.fossify.commons.R.dimen.activity_margin)
private var folderPadding = context.resources.getDimension(org.fossify.commons.R.dimen.medium_margin)
private var pageIndicatorRadius = context.resources.getDimension(R.dimen.page_indicator_dot_radius)
private var pageIndicatorMargin = context.resources.getDimension(R.dimen.page_indicator_margin)
private var textPaint: TextPaint
@@ -118,24 +121,24 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
textPaint = TextPaint(Paint.ANTI_ALIAS_FLAG).apply {
color = Color.WHITE
textSize = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.smaller_text_size)
textSize = context.resources.getDimension(org.fossify.commons.R.dimen.smaller_text_size)
setShadowLayer(2f, 0f, 0f, Color.BLACK)
}
contrastTextPaint = TextPaint(Paint.ANTI_ALIAS_FLAG).apply {
color = context.getProperTextColor()
textSize = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.smaller_text_size)
textSize = context.resources.getDimension(org.fossify.commons.R.dimen.smaller_text_size)
setShadowLayer(2f, 0f, 0f, context.getProperTextColor().getContrastColor())
}
folderTitleTextPaint = TextPaint(Paint.ANTI_ALIAS_FLAG).apply {
color = context.getProperTextColor()
textSize = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.medium_text_size)
textSize = context.resources.getDimension(org.fossify.commons.R.dimen.medium_text_size)
}
dragShadowCirclePaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
color = context.resources.getColor(com.simplemobiletools.commons.R.color.hint_white)
strokeWidth = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.small_margin)
color = context.resources.getColor(org.fossify.commons.R.color.hint_white)
strokeWidth = context.resources.getDimension(org.fossify.commons.R.dimen.small_margin)
style = Paint.Style.STROKE
}
@@ -163,7 +166,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
style = Paint.Style.STROKE
}
val sideMargin = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.normal_margin).toInt()
val sideMargin = context.resources.getDimension(org.fossify.commons.R.dimen.normal_margin).toInt()
sideMargins.apply {
top = context.statusBarHeight
bottom = context.navigationBarHeight
@@ -602,7 +605,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
val parentItem = potentialParent!!.copy(
type = ITEM_TYPE_FOLDER,
id = null,
title = resources.getString(com.simplemobiletools.commons.R.string.folder)
title = resources.getString(org.fossify.commons.R.string.folder)
)
ensureBackgroundThread {
val newId = context.homeScreenGridItemsDB.insert(parentItem)
@@ -743,7 +746,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
fun finalizeFolderOrder(newItem: HomeScreenGridItem) {
if (newParentId != null && gridItems.any { it.parentId == newParentId && it.left == newItem.left }) {
gridItems.filter { it.parentId == newParentId && it.left >= newItem.left && it.id != newItem.id}.forEach {
gridItems.filter { it.parentId == newParentId && it.left >= newItem.left && it.id != newItem.id }.forEach {
it.left += 1
}
@@ -1377,9 +1380,10 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
}
override fun getVisibleVirtualViews(virtualViewIds: MutableList<Int>?) {
val sorted = gridItems.filter { it.visibleOnCurrentPage() || (currentlyOpenFolder != null && it.parentId == currentlyOpenFolder?.item?.id) }.sortedBy {
(if (it.parentId == null) it.getDockAdjustedTop(rowCount) else 1) * 100 + it.left
}
val sorted =
gridItems.filter { it.visibleOnCurrentPage() || (currentlyOpenFolder != null && it.parentId == currentlyOpenFolder?.item?.id) }.sortedBy {
(if (it.parentId == null) it.getDockAdjustedTop(rowCount) else 1) * 100 + it.left
}
sorted.forEachIndexed { index, homeScreenGridItem ->
virtualViewIds?.add(index, homeScreenGridItem.id?.toInt() ?: index)
}

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.views
package org.fossify.launcher.views
import android.content.Context
import android.graphics.Canvas

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.views
package org.fossify.launcher.views
import android.appwidget.AppWidgetHost
import android.appwidget.AppWidgetHostView

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.views
package org.fossify.launcher.views
import android.appwidget.AppWidgetHostView
import android.content.Context
@@ -6,7 +6,7 @@ import android.graphics.PointF
import android.os.Handler
import android.view.MotionEvent
import android.view.ViewConfiguration
import com.simplemobiletools.launcher.R
import org.fossify.launcher.R
import kotlin.math.abs
class MyAppWidgetHostView(context: Context) : AppWidgetHostView(context) {
@@ -52,7 +52,7 @@ class MyAppWidgetHostView(context: Context) : AppWidgetHostView(context) {
MotionEvent.ACTION_MOVE -> {
currentCoords.x = event.rawX
currentCoords.y = event.rawY
if (abs(actionDownCoords.x - currentCoords.x) > moveGestureThreshold ) {
if (abs(actionDownCoords.x - currentCoords.x) > moveGestureThreshold) {
resetTouches()
return true
}

View File

@@ -1,4 +1,4 @@
package com.simplemobiletools.launcher.views
package org.fossify.launcher.views
import android.annotation.SuppressLint
import android.appwidget.AppWidgetManager
@@ -8,12 +8,12 @@ import android.graphics.drawable.ColorDrawable
import android.util.AttributeSet
import android.view.MotionEvent
import android.widget.RelativeLayout
import com.simplemobiletools.launcher.R
import com.simplemobiletools.launcher.extensions.config
import com.simplemobiletools.launcher.extensions.getCellCount
import com.simplemobiletools.launcher.helpers.MAX_CLICK_DURATION
import com.simplemobiletools.launcher.models.HomeScreenGridItem
import kotlinx.collections.immutable.toImmutableList
import org.fossify.launcher.R
import org.fossify.launcher.extensions.config
import org.fossify.launcher.extensions.getCellCount
import org.fossify.launcher.helpers.MAX_CLICK_DURATION
import org.fossify.launcher.models.HomeScreenGridItem
@SuppressLint("ViewConstructor")
class MyAppWidgetResizeFrame(context: Context, attrs: AttributeSet, defStyle: Int) : RelativeLayout(context, attrs, defStyle) {
@@ -49,7 +49,7 @@ class MyAppWidgetResizeFrame(context: Context, attrs: AttributeSet, defStyle: In
resizeWidgetLinePaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
color = Color.WHITE
strokeWidth = context.resources.getDimension(com.simplemobiletools.commons.R.dimen.tiny_margin)
strokeWidth = context.resources.getDimension(org.fossify.commons.R.dimen.tiny_margin)
style = Paint.Style.STROKE
}

View File

@@ -19,15 +19,15 @@
android:layout_height="wrap_content"
android:layout_marginTop="?attr/actionBarSize">
<com.simplemobiletools.commons.views.MyRecyclerView
<org.fossify.commons.views.MyRecyclerView
android:id="@+id/manage_hidden_icons_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:scrollbars="vertical"
app:layoutManager="com.simplemobiletools.commons.views.MyGridLayoutManager" />
app:layoutManager="org.fossify.commons.views.MyGridLayoutManager" />
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/manage_hidden_icons_placeholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@@ -42,7 +42,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_color_customization_label"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
@@ -71,7 +71,7 @@
android:layout_height="wrap_content"
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_purchase_thank_you"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
@@ -87,7 +87,7 @@
android:layout_height="wrap_content"
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
<org.fossify.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_use_english"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
@@ -103,14 +103,14 @@
android:layout_height="wrap_content"
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_language_label"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/language" />
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_language"
style="@style/SettingsTextValueStyle"
android:layout_width="wrap_content"
@@ -127,7 +127,7 @@
android:layout_height="wrap_content"
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_manage_hidden_icons"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
@@ -154,14 +154,14 @@
android:layout_height="wrap_content"
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_drawer_column_count_label"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/column_count" />
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_drawer_column_count"
style="@style/SettingsTextValueStyle"
android:layout_width="wrap_content"
@@ -178,7 +178,7 @@
android:layout_height="wrap_content"
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
<org.fossify.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_show_search_bar"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
@@ -194,7 +194,7 @@
android:layout_height="wrap_content"
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
<org.fossify.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_close_app_drawer_on_other_app"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
@@ -221,14 +221,14 @@
android:layout_height="wrap_content"
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_home_screen_row_count_label"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/row_count" />
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_home_screen_row_count"
style="@style/SettingsTextValueStyle"
android:layout_width="wrap_content"
@@ -245,14 +245,14 @@
android:layout_height="wrap_content"
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_home_screen_column_count_label"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/column_count" />
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/settings_home_screen_column_count"
style="@style/SettingsTextValueStyle"
android:layout_width="wrap_content"

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<com.simplemobiletools.launcher.fragments.AllAppsFragment xmlns:android="http://schemas.android.com/apk/res/android"
<org.fossify.launcher.fragments.AllAppsFragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/all_apps_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.simplemobiletools.commons.views.MySearchMenu
<org.fossify.commons.views.MySearchMenu
android:id="@+id/search_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
@@ -17,17 +17,17 @@
android:layout_below="@+id/search_bar"
app:fastScrollEnabled="false">
<com.simplemobiletools.commons.views.MyRecyclerView
<org.fossify.commons.views.MyRecyclerView
android:id="@+id/all_apps_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
app:layoutManager="com.simplemobiletools.commons.views.MyGridLayoutManager"
app:layoutManager="org.fossify.commons.views.MyGridLayoutManager"
app:spanCount="@integer/portrait_column_count" />
</com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller>
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/no_results_placeholder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -43,4 +43,4 @@
android:textStyle="italic"
android:visibility="gone" />
</com.simplemobiletools.launcher.fragments.AllAppsFragment>
</org.fossify.launcher.fragments.AllAppsFragment>

View File

@@ -15,7 +15,7 @@
android:minHeight="@dimen/min_folder_view_height"
app:layout_constraintHeight_max="@dimen/max_folder_view_height">
<com.simplemobiletools.commons.views.MyRecyclerView
<org.fossify.commons.views.MyRecyclerView
android:id="@+id/dialog_folder_icons_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -5,7 +5,7 @@
android:layout_height="wrap_content"
android:padding="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MyTextInputLayout
<org.fossify.commons.views.MyTextInputLayout
android:id="@+id/rename_item_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -18,5 +18,5 @@
android:inputType="textCapWords"
android:textSize="@dimen/bigger_text_size" />
</com.simplemobiletools.commons.views.MyTextInputLayout>
</org.fossify.commons.views.MyTextInputLayout>
</FrameLayout>

View File

@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<com.simplemobiletools.launcher.views.HomeScreenGrid xmlns:android="http://schemas.android.com/apk/res/android"
<org.fossify.launcher.views.HomeScreenGrid xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/home_screen_grid"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Drawing area with Z translation so it is drawn over widgets -->
<com.simplemobiletools.launcher.views.HomeScreenGridDrawingArea
<org.fossify.launcher.views.HomeScreenGridDrawingArea
android:id="@+id/drawing_area"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:translationZ="1dp"/>
android:translationZ="1dp" />
<com.simplemobiletools.launcher.views.MyAppWidgetResizeFrame
<org.fossify.launcher.views.MyAppWidgetResizeFrame
android:id="@+id/resize_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</com.simplemobiletools.launcher.views.HomeScreenGrid>
</org.fossify.launcher.views.HomeScreenGrid>

View File

@@ -12,7 +12,7 @@
android:paddingEnd="@dimen/small_margin"
android:paddingBottom="@dimen/small_margin">
<com.simplemobiletools.commons.views.MySquareImageView
<org.fossify.commons.views.MySquareImageView
android:id="@+id/hidden_icon"
android:layout_width="match_parent"
android:layout_height="@dimen/launcher_icon_size"

View File

@@ -11,7 +11,7 @@
android:paddingEnd="@dimen/small_margin"
android:paddingBottom="@dimen/small_margin">
<com.simplemobiletools.commons.views.MySquareImageView
<org.fossify.commons.views.MySquareImageView
android:id="@+id/launcher_icon"
android:layout_width="match_parent"
android:layout_height="@dimen/launcher_icon_size"

View File

@@ -6,7 +6,7 @@
android:layout_height="wrap_content"
android:padding="@dimen/medium_margin">
<com.simplemobiletools.commons.views.MySquareImageView
<org.fossify.commons.views.MySquareImageView
android:id="@+id/widget_app_icon"
android:layout_width="@dimen/launcher_icon_size"
android:layout_height="@dimen/launcher_icon_size"

View File

@@ -17,7 +17,7 @@
android:scaleType="centerInside"
tools:src="@mipmap/ic_launcher" />
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/widget_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -30,7 +30,7 @@
android:textSize="@dimen/smaller_text_size"
tools:text="Calendar" />
<com.simplemobiletools.commons.views.MyTextView
<org.fossify.commons.views.MyTextView
android:id="@+id/widget_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<com.simplemobiletools.launcher.fragments.WidgetsFragment xmlns:android="http://schemas.android.com/apk/res/android"
<org.fossify.launcher.fragments.WidgetsFragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/widgets_holder"
android:layout_width="match_parent"
@@ -11,12 +11,12 @@
android:layout_height="wrap_content"
app:fastScrollEnabled="false">
<com.simplemobiletools.commons.views.MyRecyclerView
<org.fossify.commons.views.MyRecyclerView
android:id="@+id/widgets_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager" />
app:layoutManager="org.fossify.commons.views.MyLinearLayoutManager" />
</com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller>
</com.simplemobiletools.launcher.fragments.WidgetsFragment>
</org.fossify.launcher.fragments.WidgetsFragment>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Обикновен Начален Екран</string>
<string name="app_launcher_name">Начален Екран</string>
<string name="launcher_settings">Начален Екран Настройки</string>
<string name="app_info">Информация за приложението</string>
@@ -11,4 +10,4 @@
<string name="manage_hidden_icons">Управлявай скритите икони</string>
<string name="hidden_icons">Скрити икони</string>
<string name="hidden_icons_placeholder">Някои приложения не могат да бъдат деинсталирани поради системни ограничения, но можете поне да скриете иконите им, за да не ги виждате.</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Jednostavan pokretač</string>
<string name="app_launcher_name">Pokretač</string>
<string name="launcher_settings">Postavke pokretača</string>
<string name="app_info">Informacije o aplikaciji</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Jednoduchý spouštěč</string>
<string name="app_launcher_name">Spuštěč</string>
<string name="launcher_settings">Nastavení spouštěče</string>
<string name="app_info">O aplikaci</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Simpel Launcher</string>
<string name="app_launcher_name">Launcher</string>
<string name="launcher_settings">Launcher Indstillinger</string>
</resources>

View File

@@ -13,6 +13,5 @@
<string name="close_app_drawer_on_app_open">App-Schublade beim Öffnen einer App schließen</string>
<string name="home_screen_settings">Startbildschirm</string>
<string name="widget_too_big">Das Widget ist zu groß für den aktuellen Startbildschirm</string>
<string name="app_name">Fossify Launcher</string>
<string name="app_launcher_name">Launcher</string>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Απλός Εκκινητής</string>
<string name="app_launcher_name">Εκκινητής</string>
<string name="launcher_settings">Ρυθμίσεις Εκκινητή</string>
<string name="app_info">Πληροφορίες εφαρμογής</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Lanzador simple</string>
<string name="app_launcher_name">Lanzador</string>
<string name="launcher_settings">Configuración del lanzador</string>
<string name="app_info">Información de la aplicación</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Lihtne käivitaja</string>
<string name="app_launcher_name">Käivitaja</string>
<string name="launcher_settings">Käivitaja seadistused</string>
<string name="app_info">Rakenduse teave</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Abiarazle sinplea</string>
<string name="app_launcher_name">Abiarazlea</string>
<string name="touch_hold_widget">Luze sakatu trepeta eta arrastatu hasierako pantailara</string>
<string name="uninstall">Desinstalatu</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Yksinkertainen käynnistin</string>
<string name="app_launcher_name">Käynnistin</string>
<string name="launcher_settings">Käynnistimen asetukset</string>
<string name="app_info">Sovelluksen tiedot</string>
@@ -11,4 +10,4 @@
<string name="manage_hidden_icons">Hallitse piilotettuja kuvakkeita</string>
<string name="hidden_icons">Piilotetut kuvakkeet</string>
<string name="hidden_icons_placeholder">Joitakin sovelluksia ei ole järjestelmärajoitusten vuoksi mahdollista poistaa, mutta voit kuitenkin piilottaa niiden kuvakkeet näkyvistä.</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Fossify Launcher</string>
<string name="app_launcher_name">Lanceur</string>
<string name="launcher_settings">Paramètres du lanceur</string>
<string name="app_info">Infos sur l\'appli</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Lanzador Sinxelo</string>
<string name="app_launcher_name">Lanzador</string>
<string name="launcher_settings">Configuración do lanzador</string>
<string name="app_info">Información da aplicación</string>
@@ -11,4 +10,4 @@
<string name="manage_hidden_icons">Xestionar iconas ocultas</string>
<string name="hidden_icons">Iconas ocultas</string>
<string name="hidden_icons_placeholder">Algunhas aplicacións non se poden desinstalar debido ás restricións do sistema, pero polo menos podes ocultar as súas iconas para evitar velas.</string>
</resources>
</resources>

View File

@@ -14,5 +14,4 @@
<string name="close_app_drawer_on_app_open">ऐप खोलने पर ऐप ड्रॉअर बंद कर दें</string>
<string name="home_screen_settings">होम स्क्रीन</string>
<string name="widget_too_big">वर्तमान होम स्क्रीन आकार के लिए विजेट बहुत बड़ा है</string>
<string name="app_name">Fossify Launcher</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Jednostavni pokretač</string>
<string name="app_launcher_name">Pokretač</string>
<string name="launcher_settings">Postavke pokretača</string>
<string name="app_info">Informacije o aplikaciji</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Egyszerű indító</string>
<string name="app_launcher_name">Indító</string>
<string name="launcher_settings">Indító beállításai</string>
<string name="app_info">Alkalmazásinformációk</string>

View File

@@ -10,7 +10,6 @@
<string name="manage_hidden_icons">Kelola ikon tersembunyi</string>
<string name="hidden_icons">Ikon tersembunyi</string>
<string name="hidden_icons_placeholder">Beberapa aplikasi tidak dapat di-uninstal karena keterbatasan sistem, tetapi Anda masih dapat menyembunyikan ikon mereka untuk menyembunyikannya.</string>
<string name="app_name">Peluncur Fossify</string>
<string name="close_app_drawer_on_app_open">Tutup laci aplikasi saat membuka aplikasi</string>
<string name="app_drawer_settings">Laci aplikasi</string>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Launcher Semplice</string>
<string name="launcher_settings">Impostazioni del launcher</string>
<string name="app_info">Informazioni sull\'app</string>
<string name="touch_hold_widget">Premi a lungo il widget e trascinalo sulla schermata iniziale</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">משגר פשוט</string>
<string name="app_launcher_name">משגר</string>
<string name="launcher_settings">הגדרות משגר</string>
<string name="app_info">מידע על האפליקציה</string>
@@ -11,4 +10,4 @@
<string name="manage_hidden_icons">ניהול אייקונים נסתרים</string>
<string name="hidden_icons">אייקונים נסתרים</string>
<string name="hidden_icons_placeholder">חלק מהאפליקציות לא ניתנות להסרה עקב הגבלות מערכת, לפחות אתה יכול להחביא את האייקונים כדי לא לראותם במסך הבית.</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">シンプルランチャー</string>
<string name="app_launcher_name">ランチャー</string>
<string name="launcher_settings">ランチャー設定</string>
<string name="app_info">アプリ情報</string>
@@ -11,4 +10,4 @@
<string name="manage_hidden_icons">非表示アイコンの管理</string>
<string name="hidden_icons">非表示のアイコン</string>
<string name="hidden_icons_placeholder">一部のアプリはシステムの制限によりアンインストールできませんが、非表示によって表示されないようにすることはできます。</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">ലളിതമായ ലോഞ്ചർ</string>
<string name="app_launcher_name">ലോഞ്ചർ</string>
<string name="launcher_settings">ലോഞ്ചർ ക്രമീകരണങ്ങൾ</string>
<string name="app_info">പ്രയോഗ വിവരം</string>
@@ -10,4 +9,4 @@
<string name="manage_hidden_icons">മറഞ്ഞിരിക്കുന്ന ബിംബം കൈകാര്യം ചെയ്യുക</string>
<string name="hidden_icons">മറഞ്ഞിരിക്കുന്ന ബിംബ</string>
<string name="hidden_icons_placeholder">സിസ്റ്റം നിയന്ത്രണങ്ങൾ കാരണം ചില ആപ്പുകൾ അൺഇൻസ്‌റ്റാൾ ചെയ്യാൻ കഴിയില്ല, എന്നാൽ അവ കാണാതിരിക്കാൻ നിങ്ങൾക്ക് അവയുടെ ഐക്കണുകളെങ്കിലും മറയ്‌ക്കാം.</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Eenvoudige Launcher</string>
<string name="launcher_settings">Instellingen Launcher</string>
<string name="app_info">App-info</string>
<string name="touch_hold_widget">Druk lang op de widget en sleep hem vervolgens naar het beginscherm</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">سادہ شروع</string>
<string name="app_launcher_name">شروع</string>
<string name="launcher_settings">شروع سیٹنگاں</string>
<string name="app_info">اَیپ دی جاݨکاری</string>
@@ -11,4 +10,4 @@
<string name="manage_hidden_icons">لُکاۓ آئیکون دیاں سیٹنگاں</string>
<string name="hidden_icons">لُکاۓ آئیکون</string>
<string name="hidden_icons_placeholder">سِسٹم پابندیاں کرکے کجھ اَیپاں اݨ‌اینسٹال کر نہیں سکیاں، پر تسیں آئیکون لُکا سکدے او۔</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Prosty launcher</string>
<string name="launcher_settings">Ustawienia launchera</string>
<string name="app_info">Informacje o aplikacji</string>
<string name="touch_hold_widget">Długo naciśnij widżet i przeciągnij go na ekran główny</string>

View File

@@ -13,6 +13,5 @@
<string name="close_app_drawer_on_app_open">Fechar gaveta de aplicativos ao abrir um aplicativo</string>
<string name="home_screen_settings">Tela inicial</string>
<string name="widget_too_big">O widget é muito grande para o tamanho atual da tela inicial</string>
<string name="app_name">Launcher Fossify</string>
<string name="app_launcher_name">Launcher</string>
</resources>

View File

@@ -13,6 +13,5 @@
<string name="app_drawer_settings">Menu de aplicações</string>
<string name="close_app_drawer_on_app_open">Fechar menu de aplicações ao abrir uma aplicação</string>
<string name="widget_too_big">O widget é muito grande para o ecrã disponível</string>
<string name="app_name">Lançador</string>
<string name="home_screen_settings">Ecrã inicial</string>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Lansator de aplicații simplu</string>
<string name="app_launcher_name">Lansator de aplicații</string>
<string name="launcher_settings">Setări lansator de aplicații</string>
<string name="app_info">Informații despre aplicație</string>
@@ -15,4 +14,4 @@
<string name="close_app_drawer_on_app_open">Închideți sertarul de aplicații la deschiderea unei aplicații</string>
<string name="home_screen_settings">Ecran principal</string>
<string name="widget_too_big">Widget-ul este prea mare pentru dimensiunea ecranului principal</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Простой рабочий стол</string>
<string name="app_launcher_name">Рабочий стол</string>
<string name="launcher_settings">Настройки</string>
<string name="app_info">О приложении</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Jednoduchý spúšťač</string>
<string name="app_launcher_name">Spúšťač</string>
<string name="launcher_settings">Nastavenia Spúšťača</string>
<string name="app_info">Informácie o apke</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Enostaven zaganjalnik</string>
<string name="app_launcher_name">Zaganjalnik</string>
<string name="launcher_settings">Nastavitve zaganjalnika</string>
<string name="app_info">Podatki o aplikaciji</string>
@@ -11,4 +10,4 @@
<string name="manage_hidden_icons">Upravljajte s skritimi ikonami</string>
<string name="hidden_icons">Skrite ikone</string>
<string name="hidden_icons_placeholder">Določenih aplikacij zaradi sistemskih omejitev ni mogoče odstraniti, njihove ikone pa skrijete, da jih ne vidite.</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Једноставан покретач</string>
<string name="app_launcher_name">Иницијатор</string>
<string name="launcher_settings">Подешавања покретача</string>
<string name="app_info">Информације о апликацији</string>
@@ -11,4 +10,4 @@
<string name="manage_hidden_icons">Управљајте скривеним иконама</string>
<string name="hidden_icons">Скривене иконе</string>
<string name="hidden_icons_placeholder">Неке апликације се не могу деинсталирати због системских ограничења, али можете барем сакрити њихове иконе да их не видите.</string>
</resources>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Simpelt startprogram</string>
<string name="app_launcher_name">Startprogram</string>
<string name="launcher_settings">Inställningar för startprogrammet</string>
<string name="app_info">Appinformation</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Basit Başlatıcı</string>
<string name="app_launcher_name">Başlatıcı</string>
<string name="launcher_settings">Başlatıcı Ayarları</string>
<string name="app_info">Uygulama bilgisi</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Простий Лаунчер</string>
<string name="app_launcher_name">Лаунчер</string>
<string name="launcher_settings">Налаштування</string>
<string name="app_info">Про застосунок</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Trình khởi chạy Fossify</string>
<string name="app_launcher_name">Trình khởi chạy</string>
<string name="launcher_settings">Cài đặt trình khởi chạy</string>
<string name="app_info">Thông tin ứng dụng</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">简单启动器</string>
<string name="app_launcher_name">启动器</string>
<string name="launcher_settings">启动器设置</string>
<string name="app_info">应用信息</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">簡易啟動器</string>
<string name="app_launcher_name">啟動器</string>
<string name="launcher_settings">啟動器設定</string>
<string name="app_info">應用程式資訊</string>
@@ -12,4 +11,4 @@
<string name="hidden_icons">隱藏圖示</string>
<string name="hidden_icons_placeholder">由於系統限制,有些應用程式無法被移除,但您至少可以將它們的圖示隱藏起來,避免看到它們。</string>
<string name="app_drawer_settings">應用程式抽屜</string>
</resources>
</resources>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Fossify Launcher</string>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Simple Launcher</string>
<string name="app_launcher_name">Launcher</string>
<string name="launcher_settings">Launcher Settings</string>
<string name="app_info">App info</string>

View File

@@ -1,2 +1,2 @@
json_key_file("fastlane/fastlane.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("com.simplemobiletools.launcher") # e.g. com.krausefx.app
package_name("org.fossify.launcher") # e.g. com.krausefx.app

View File

@@ -1,7 +0,0 @@
* Allow creating multiple home screen pages
* Added folder support
* Added shortcut support
* Added search
* Allow changing row and column count
* Improved accessibility talkback
* Added some UX, translation and stability improvements

View File

@@ -1 +0,0 @@
Initial release

View File

@@ -1,2 +0,0 @@
Added initial support for shortcuts
Fixed some navigation issues

View File

@@ -1,3 +0,0 @@
* Added support for apps creating multiple icons, not just the launcher
* Properly support color customization
* Added some stability, UX and translation improvements

Some files were not shown because too many files have changed in this diff Show More