Skip to content

Commit 0f94da1

Browse files
authored
Merge branch 'stage' into fix/ADFA-3467-debug-client-illegal-state-exception
2 parents 69bc91a + feff84f commit 0f94da1

467 files changed

Lines changed: 104 additions & 27231 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎app/build.gradle.kts‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,6 @@ dependencies {
321321
implementation(projects.pluginApi)
322322
implementation(projects.pluginManager)
323323

324-
implementation(projects.layouteditor)
325324
implementation(projects.idetooltips)
326325
implementation(projects.floatingWindow)
327326
implementation(projects.gitCore)

‎app/src/main/java/com/itsaky/androidide/actions/etc/PreviewLayoutAction.kt‎

Lines changed: 0 additions & 167 deletions
This file was deleted.

‎app/src/main/java/com/itsaky/androidide/adapters/DeleteProjectListAdapter.kt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import android.view.ViewGroup
66
import androidx.recyclerview.widget.RecyclerView
77
import com.itsaky.androidide.databinding.DeleteProjectsItemBinding
88
import com.itsaky.androidide.models.Checkable
9-
import org.appdevforall.codeonthego.layouteditor.ProjectFile
9+
import com.itsaky.androidide.models.ProjectFile
1010

1111
class DeleteProjectListAdapter(
1212
private var projects: List<Checkable<ProjectFile>>,

‎app/src/main/java/com/itsaky/androidide/adapters/RecentProjectsAdapter.kt‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import com.itsaky.androidide.tasks.executeAsync
2828
import com.itsaky.androidide.utils.applyLongPressRecursively
2929
import com.itsaky.androidide.utils.flashError
3030
import com.itsaky.androidide.utils.flashSuccess
31-
import org.appdevforall.codeonthego.layouteditor.ProjectFile
32-
import org.appdevforall.codeonthego.layouteditor.databinding.TextinputlayoutBinding
31+
import com.itsaky.androidide.databinding.RenameProjectTextinputBinding
32+
import com.itsaky.androidide.models.ProjectFile
3333
import org.slf4j.LoggerFactory
3434
import java.io.File
3535

@@ -219,7 +219,7 @@ class RecentProjectsAdapter(
219219
val oldName = project.name
220220
val builder = MaterialAlertDialogBuilder(context).setTitle(R.string.rename_project)
221221

222-
val binding = TextinputlayoutBinding.inflate(LayoutInflater.from(context))
222+
val binding = RenameProjectTextinputBinding.inflate(LayoutInflater.from(context))
223223
binding.textinputEdittext.setText(project.name)
224224
binding.textinputLayout.hint = context.getString(R.string.msg_new_project_name)
225225
val padding = (16 * context.resources.displayMetrics.density).toInt()

‎app/src/main/java/com/itsaky/androidide/fragments/MainFragment.kt‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import com.itsaky.androidide.idetooltips.TooltipTag.MAIN_GET_STARTED
1919
import com.itsaky.androidide.viewmodel.MainViewModel
2020
import org.adfa.constants.CONTENT_KEY
2121
import org.adfa.constants.CONTENT_TITLE_KEY
22-
import org.appdevforall.codeonthego.layouteditor.managers.ProjectManager
2322
import org.koin.androidx.viewmodel.ext.android.activityViewModel
2423

2524
class MainFragment : BaseFragment() {
@@ -87,8 +86,7 @@ class MainFragment : BaseFragment() {
8786
handleGitUrlDrop(
8887
shouldAcceptDrop = {
8988
isVisible &&
90-
viewModel.currentScreen.value == MainViewModel.SCREEN_MAIN &&
91-
ProjectManager.instance.openedProject == null
89+
viewModel.currentScreen.value == MainViewModel.SCREEN_MAIN
9290
},
9391
onDropped = viewModel::requestCloneRepository
9492
)

‎app/src/main/java/com/itsaky/androidide/fragments/RecentProjectsFragment.kt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
4444
import kotlinx.coroutines.flow.debounce
4545
import kotlinx.coroutines.joinAll
4646
import kotlinx.coroutines.launch
47-
import org.appdevforall.codeonthego.layouteditor.ProjectFile
47+
import com.itsaky.androidide.models.ProjectFile
4848
import com.itsaky.androidide.utils.flashSuccess
4949
import com.itsaky.androidide.utils.findValidProjects
5050
import com.itsaky.androidide.utils.isProjectCandidateDir
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.itsaky.androidide.models
2+
3+
import android.content.Context
4+
import com.itsaky.androidide.resources.R
5+
import com.itsaky.androidide.utils.formatDate
6+
import java.io.File
7+
8+
class ProjectFile(
9+
path: String,
10+
val createdAt: String?,
11+
val lastModified: String?,
12+
) {
13+
14+
var path: String = path
15+
private set
16+
17+
var name: String = lastSegment(path)
18+
private set
19+
20+
fun rename(newPath: String) {
21+
File(path).renameTo(File(newPath))
22+
path = newPath
23+
name = lastSegment(newPath)
24+
}
25+
26+
fun renderDateText(context: Context): String {
27+
val showModified = createdAt != lastModified
28+
val renderDate = if (showModified) lastModified else createdAt
29+
val label =
30+
if (showModified) {
31+
context.getString(R.string.date_modified_label)
32+
} else {
33+
context.getString(R.string.date_created_label)
34+
}
35+
return context.getString(R.string.date, label, formatDate(renderDate ?: ""))
36+
}
37+
38+
private companion object {
39+
fun lastSegment(path: String): String = path.substring(path.lastIndexOf("/") + 1)
40+
}
41+
}

‎app/src/main/java/com/itsaky/androidide/ui/ProjectInfoBottomSheet.kt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import com.itsaky.androidide.utils.loadProjectDetails
1515
import com.itsaky.androidide.utils.viewLifecycleScope
1616
import com.termux.shared.interact.ShareUtils.copyTextToClipboard
1717
import kotlinx.coroutines.launch
18-
import org.appdevforall.codeonthego.layouteditor.ProjectFile
18+
import com.itsaky.androidide.models.ProjectFile
1919

2020
class ProjectInfoBottomSheet : BottomSheetDialogFragment() {
2121
companion object {

‎app/src/main/java/com/itsaky/androidide/utils/EditorActivityActions.kt‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import com.itsaky.androidide.actions.etc.FindAction
3939
import com.itsaky.androidide.actions.etc.FindInFileAction
4040
import com.itsaky.androidide.actions.etc.FindInProjectAction
4141
import com.itsaky.androidide.actions.etc.LaunchAppAction
42-
import com.itsaky.androidide.actions.etc.PreviewLayoutAction
4342
import com.itsaky.androidide.actions.file.CloseAllFilesAction
4443
import com.itsaky.androidide.actions.file.CloseFileAction
4544
import com.itsaky.androidide.actions.file.CloseOtherFilesAction
@@ -95,7 +94,6 @@ class EditorActivityActions {
9594
registry.registerAction(UndoAction(context, order++))
9695
registry.registerAction(RedoAction(context, order++))
9796
registry.registerAction(SaveFileAction(context, order++))
98-
registry.registerAction(PreviewLayoutAction(context, order++))
9997
registry.registerAction(FindAction(context, order++))
10098
registry.registerAction(FindInFileAction(context, order++))
10199
registry.registerAction(FindInProjectAction(context, order++))

‎app/src/main/java/com/itsaky/androidide/viewmodel/RecentProjectsViewModel.kt‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import com.itsaky.androidide.roomData.recentproject.RecentProjectDao
1414
import com.itsaky.androidide.roomData.recentproject.RecentProjectRoomDatabase
1515
import com.itsaky.androidide.utils.getCreatedTime
1616
import com.itsaky.androidide.utils.getLastModifiedTime
17-
import org.appdevforall.codeonthego.layouteditor.ProjectFile
17+
import com.itsaky.androidide.models.ProjectFile
1818
import kotlinx.coroutines.Dispatchers
1919
import kotlinx.coroutines.Job
2020
import kotlinx.coroutines.flow.MutableSharedFlow
@@ -80,9 +80,7 @@ class RecentProjectsViewModel(application: Application) : AndroidViewModel(appli
8080
fun loadProjects(): Job {
8181
return viewModelScope.launch(Dispatchers.IO) {
8282
val projectsFromDb = recentProjectDao.dumpAll() ?: emptyList()
83-
val context = getApplication<Application>().applicationContext
84-
85-
allProjects = projectsFromDb.map { ProjectFile(it.location, it.createdAt, it.lastModified, context) }
83+
allProjects = projectsFromDb.map { ProjectFile(it.location, it.createdAt, it.lastModified) }
8684
applyFilters()
8785
}
8886
}

0 commit comments

Comments
 (0)