mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
feat: dynamic colors support
This commit is contained in:
+14
-7
@@ -16,6 +16,9 @@
|
||||
*/
|
||||
package com.itsaky.androidide.actions.internal
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.PorterDuff.Mode.SRC_ATOP
|
||||
import android.graphics.PorterDuffColorFilter
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import com.blankj.utilcode.util.ThreadUtils
|
||||
@@ -23,9 +26,11 @@ import com.itsaky.androidide.actions.ActionData
|
||||
import com.itsaky.androidide.actions.ActionItem
|
||||
import com.itsaky.androidide.actions.ActionMenu
|
||||
import com.itsaky.androidide.actions.ActionsRegistry
|
||||
import com.itsaky.androidide.actions.R
|
||||
import com.itsaky.androidide.actions.locations.CodeActionsMenu
|
||||
import com.itsaky.androidide.utils.ILogger
|
||||
import java.util.concurrent.*
|
||||
import com.itsaky.androidide.utils.resolveAttr
|
||||
import java.util.concurrent.CompletableFuture
|
||||
|
||||
/**
|
||||
* Default implementation for the [ActionsRegistry]
|
||||
@@ -37,7 +42,7 @@ class DefaultActionsRegistry : ActionsRegistry() {
|
||||
private val log = ILogger.newInstance("DefaultActionsRegistry")
|
||||
private val actions: MutableMap<String, MutableMap<String, ActionItem>> = mutableMapOf()
|
||||
private val listeners = mutableSetOf<ActionExecListener>()
|
||||
|
||||
|
||||
init {
|
||||
registerAction(CodeActionsMenu)
|
||||
}
|
||||
@@ -104,6 +109,7 @@ class DefaultActionsRegistry : ActionsRegistry() {
|
||||
}
|
||||
|
||||
private fun addActionToMenu(menu: Menu, action: ActionItem, data: ActionData) {
|
||||
val context = data[Context::class.java]
|
||||
val item: MenuItem =
|
||||
if (action is ActionMenu) {
|
||||
val sub = menu.addSubMenu(action.label)
|
||||
@@ -127,7 +133,10 @@ class DefaultActionsRegistry : ActionsRegistry() {
|
||||
}
|
||||
|
||||
item.isEnabled = action.enabled
|
||||
item.icon = action.icon
|
||||
item.icon =
|
||||
action.icon?.apply {
|
||||
colorFilter = PorterDuffColorFilter(context!!.resolveAttr(R.attr.colorOnSurface), SRC_ATOP)
|
||||
}
|
||||
|
||||
if (item.icon != null) {
|
||||
item.icon!!.alpha = if (action.enabled) 255 else 76
|
||||
@@ -139,10 +148,8 @@ class DefaultActionsRegistry : ActionsRegistry() {
|
||||
if (action.getShowAsActionFlags(data) != -1) {
|
||||
item.setShowAsAction(action.getShowAsActionFlags(data))
|
||||
}
|
||||
|
||||
action.createActionView(data)?.let {
|
||||
item.actionView = it
|
||||
}
|
||||
|
||||
action.createActionView(data)?.let { item.actionView = it }
|
||||
|
||||
if (action !is ActionMenu) {
|
||||
item.setOnMenuItemClickListener {
|
||||
|
||||
@@ -61,7 +61,6 @@ import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.view.menu.MenuBuilder;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
@@ -118,6 +117,7 @@ import com.itsaky.androidide.utils.InstallationResultHandler;
|
||||
import com.itsaky.androidide.utils.IntentUtils;
|
||||
import com.itsaky.androidide.utils.LSPUtils;
|
||||
import com.itsaky.androidide.utils.RecursiveFileSearcher;
|
||||
import com.itsaky.androidide.utils.ResourceUtilsKt;
|
||||
import com.itsaky.androidide.utils.SingleSessionCallback;
|
||||
import com.itsaky.androidide.viewmodel.EditorViewModel;
|
||||
import com.itsaky.androidide.views.EditorBottomSheet;
|
||||
@@ -605,7 +605,6 @@ public class EditorActivity extends IDEActivity
|
||||
}
|
||||
mSearchingProgress = new ProgressSheet();
|
||||
mSearchingProgress.setCancelable(false);
|
||||
mSearchingProgress.setWelcomeTextEnabled(false);
|
||||
mSearchingProgress.setMessage(getString(msg));
|
||||
mSearchingProgress.setSubMessageEnabled(false);
|
||||
return mSearchingProgress;
|
||||
@@ -825,9 +824,10 @@ public class EditorActivity extends IDEActivity
|
||||
public MaterialBanner getSyncBanner() {
|
||||
return mBinding
|
||||
.syncBanner
|
||||
.setContentTextColor(ContextCompat.getColor(this, color.primaryTextColor))
|
||||
.setBannerBackgroundColor(ContextCompat.getColor(this, color.primaryLightColor))
|
||||
.setButtonTextColor(ContextCompat.getColor(this, color.secondaryColor))
|
||||
.setContentTextColor(ResourceUtilsKt.resolveAttr(this, R.attr.colorOnPrimaryContainer))
|
||||
.setBannerBackgroundColor(
|
||||
ResourceUtilsKt.resolveAttr(this, R.attr.colorPrimaryContainer))
|
||||
.setButtonTextColor(ResourceUtilsKt.resolveAttr(this, R.attr.colorOnPrimaryContainer))
|
||||
.setIcon(drawable.ic_sync)
|
||||
.setContentText(string.msg_sync_needed);
|
||||
}
|
||||
@@ -1491,8 +1491,8 @@ public class EditorActivity extends IDEActivity
|
||||
new ActionItem(ACTION_ID_ALL, getString(string.action_closeAll), drawable.ic_close_all);
|
||||
mTabCloseAction = new QuickAction(this, QuickAction.HORIZONTAL);
|
||||
mTabCloseAction.addActionItem(closeThis, closeOthers, closeAll);
|
||||
mTabCloseAction.setColorRes(color.tabAction_background);
|
||||
mTabCloseAction.setTextColorRes(color.tabAction_text);
|
||||
mTabCloseAction.setColor(ResourceUtilsKt.resolveAttr(this, color.tabAction_background));
|
||||
mTabCloseAction.setTextColor(ResourceUtilsKt.resolveAttr(this, color.tabAction_text));
|
||||
|
||||
mTabCloseAction.setOnActionItemClickListener(
|
||||
(item) -> {
|
||||
|
||||
@@ -25,32 +25,32 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.itsaky.androidide.databinding.LayoutCompletionItemBinding
|
||||
import com.itsaky.androidide.lookup.Lookup
|
||||
import com.itsaky.androidide.lsp.models.ClassCompletionData
|
||||
import com.itsaky.androidide.lsp.models.CompletionItem as LspCompletionItem
|
||||
import com.itsaky.androidide.lsp.models.CompletionItemKind.CLASS
|
||||
import com.itsaky.androidide.lsp.models.CompletionItemKind.CONSTRUCTOR
|
||||
import com.itsaky.androidide.lsp.models.CompletionItemKind.ENUM
|
||||
import com.itsaky.androidide.lsp.models.CompletionItemKind.FIELD
|
||||
import com.itsaky.androidide.lsp.models.CompletionItemKind.INTERFACE
|
||||
import com.itsaky.androidide.lsp.models.CompletionItemKind.METHOD
|
||||
import com.itsaky.androidide.preferences.internal.useCustomFont
|
||||
import com.itsaky.androidide.utils.customOrJBMono
|
||||
import com.itsaky.androidide.lsp.models.MemberCompletionData
|
||||
import com.itsaky.androidide.lsp.models.MethodCompletionData
|
||||
import com.itsaky.androidide.preferences.internal.useCustomFont
|
||||
import com.itsaky.androidide.resources.R.color
|
||||
import com.itsaky.androidide.resources.R.string.msg_api_info_deprecated
|
||||
import com.itsaky.androidide.resources.R.string.msg_api_info_removed
|
||||
import com.itsaky.androidide.resources.R.string.msg_api_info_since
|
||||
import com.itsaky.androidide.tasks.executeAsync
|
||||
import com.itsaky.androidide.utils.ILogger
|
||||
import com.itsaky.androidide.utils.customOrJBMono
|
||||
import com.itsaky.androidide.utils.resolveAttr
|
||||
import com.itsaky.androidide.xml.versions.ApiVersions
|
||||
import com.itsaky.androidide.xml.versions.Info
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionItem
|
||||
import io.github.rosemoe.sora.widget.component.EditorAutoCompletion
|
||||
import io.github.rosemoe.sora.widget.component.EditorCompletionAdapter
|
||||
import com.itsaky.androidide.lsp.models.CompletionItem as LspCompletionItem
|
||||
|
||||
class CompletionListAdapter : EditorCompletionAdapter() {
|
||||
|
||||
@@ -95,8 +95,7 @@ class CompletionListAdapter : EditorCompletionAdapter() {
|
||||
binding.completionDetail.visibility = View.GONE
|
||||
}
|
||||
binding.root.setBackgroundColor(
|
||||
ContextCompat.getColor(
|
||||
context,
|
||||
context.resolveAttr(
|
||||
if (isCurrentCursorPosition) color.completionList_backgroundSelected
|
||||
else color.completionList_background
|
||||
)
|
||||
|
||||
@@ -18,16 +18,13 @@
|
||||
|
||||
package com.itsaky.androidide.adapters;
|
||||
|
||||
import android.graphics.PorterDuff;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.itsaky.androidide.resources.R;
|
||||
import com.itsaky.androidide.databinding.LayoutDiagnosticGroupBinding;
|
||||
import com.itsaky.androidide.interfaces.DiagnosticClickListener;
|
||||
import com.itsaky.androidide.models.DiagnosticGroup;
|
||||
@@ -57,12 +54,8 @@ public class DiagnosticsAdapter extends RecyclerView.Adapter<DiagnosticsAdapter.
|
||||
final DiagnosticGroup group = diagnostics.get(p2);
|
||||
final LayoutDiagnosticGroupBinding binding = p1.binding;
|
||||
|
||||
final int color =
|
||||
ContextCompat.getColor(binding.info.icon.getContext(), R.color.secondaryColor);
|
||||
binding.info.icon.setImageResource(group.icon);
|
||||
binding.info.icon.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
|
||||
binding.info.title.setText(group.text);
|
||||
binding.info.title.setTextColor(color);
|
||||
binding.diagnostics.setLayoutManager(new LinearLayoutManager(binding.diagnostics.getContext()));
|
||||
binding.diagnostics.setAdapter(
|
||||
new DiagnosticItemAdapter(group.diagnostics, group.file, listener));
|
||||
|
||||
@@ -17,21 +17,21 @@ package com.itsaky.androidide.adapters
|
||||
import android.graphics.PorterDuff.Mode.SRC_ATOP
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView.Adapter
|
||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
||||
import com.blankj.utilcode.util.ThreadUtils
|
||||
import com.itsaky.androidide.resources.R.color
|
||||
import com.itsaky.androidide.resources.R.drawable
|
||||
import com.itsaky.androidide.R
|
||||
import com.itsaky.androidide.adapters.SearchListAdapter.VH
|
||||
import com.itsaky.androidide.databinding.LayoutSearchResultGroupBinding
|
||||
import com.itsaky.androidide.databinding.LayoutSearchResultItemBinding
|
||||
import com.itsaky.androidide.models.FileExtension
|
||||
import com.itsaky.androidide.models.SearchResult
|
||||
import com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE
|
||||
import com.itsaky.androidide.syntax.highlighters.JavaHighlighter
|
||||
import com.itsaky.androidide.utils.resolveAttr
|
||||
import java.io.File
|
||||
import java.util.concurrent.*
|
||||
import java.util.concurrent.CompletableFuture
|
||||
|
||||
class SearchListAdapter(
|
||||
private val results: Map<File, List<SearchResult>?>,
|
||||
@@ -54,7 +54,7 @@ class SearchListAdapter(
|
||||
val binding = p1.binding
|
||||
val file = keys[p2]
|
||||
val matches = results[file] ?: listOf()
|
||||
val color = ContextCompat.getColor(binding.icon.context, color.secondaryColor)
|
||||
val color = binding.icon.context.resolveAttr(R.attr.colorPrimary)
|
||||
binding.title.text = file.name
|
||||
binding.icon.setImageResource(FileExtension.Factory.forFile(file).icon)
|
||||
binding.icon.setColorFilter(color, SRC_ATOP)
|
||||
@@ -78,7 +78,8 @@ class SearchListAdapter(
|
||||
val binding = p1.binding
|
||||
CompletableFuture.runAsync {
|
||||
try {
|
||||
val sb = JavaHighlighter().highlight(match.line, match.match)
|
||||
val scheme = SchemeAndroidIDE.newInstance(binding.text.context)
|
||||
val sb = JavaHighlighter().highlight(scheme, match.line, match.match)
|
||||
ThreadUtils.runOnUiThread { binding.text.text = sb }
|
||||
} catch (e: Exception) {
|
||||
ThreadUtils.runOnUiThread { binding.text.text = match.match }
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
package com.itsaky.androidide.adapters;
|
||||
|
||||
import static com.itsaky.androidide.utils.ResourceUtilsKt.resolveAttr;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.ViewGroup;
|
||||
@@ -24,7 +26,9 @@ import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.itsaky.androidide.R;
|
||||
import com.itsaky.androidide.databinding.LayoutSymbolItemBinding;
|
||||
import com.itsaky.androidide.utils.ResourceUtilsKt;
|
||||
import com.itsaky.androidide.views.SymbolInputView.Symbol;
|
||||
import com.itsaky.androidide.views.editor.IDEEditor;
|
||||
|
||||
@@ -77,6 +81,7 @@ public class SymbolInputAdapter extends RecyclerView.Adapter<SymbolInputAdapter.
|
||||
if (symbols == null || symbols[position] == null) return;
|
||||
final Symbol symbol = symbols[position];
|
||||
holder.binding.symbol.setText(symbol.getLabel());
|
||||
holder.binding.symbol.setTextColor(resolveAttr(holder.binding.symbol.getContext(), R.attr.colorOnPrimaryContainer));
|
||||
holder.binding.symbol.setOnClickListener(__ -> insertSymbol(symbol.getCommit(), symbol.getOffset()));
|
||||
}
|
||||
|
||||
|
||||
+1
-13
@@ -20,9 +20,6 @@
|
||||
|
||||
package com.itsaky.androidide.adapters.viewholders;
|
||||
|
||||
import static android.graphics.PorterDuff.Mode.SRC_ATOP;
|
||||
import static androidx.core.content.ContextCompat.getColor;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -33,9 +30,9 @@ import androidx.transition.TransitionManager;
|
||||
|
||||
import com.blankj.utilcode.util.ImageUtils;
|
||||
import com.blankj.utilcode.util.SizeUtils;
|
||||
import com.itsaky.androidide.resources.R;
|
||||
import com.itsaky.androidide.databinding.LayoutFiletreeItemBinding;
|
||||
import com.itsaky.androidide.models.FileExtension;
|
||||
import com.itsaky.androidide.resources.R;
|
||||
import com.unnamed.b.atv.model.TreeNode;
|
||||
|
||||
import java.io.File;
|
||||
@@ -63,11 +60,6 @@ public class FileTreeViewHolder extends TreeNode.BaseNodeViewHolder<File> {
|
||||
|
||||
updateChevronIcon(node.isExpanded());
|
||||
|
||||
binding
|
||||
.filetreeIcon
|
||||
.getDrawable()
|
||||
.setColorFilter(getColor(context, R.color.secondaryLightColor), SRC_ATOP);
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
@@ -81,10 +73,6 @@ public class FileTreeViewHolder extends TreeNode.BaseNodeViewHolder<File> {
|
||||
|
||||
TransitionManager.beginDelayedTransition(binding.getRoot(), new ChangeImageTransform());
|
||||
binding.filetreeChevron.setImageResource(chevronIcon);
|
||||
binding
|
||||
.filetreeChevron
|
||||
.getDrawable()
|
||||
.setColorFilter(getColor(context, R.color.secondaryLightColor), SRC_ATOP);
|
||||
}
|
||||
|
||||
protected LinearLayout applyPadding(
|
||||
|
||||
@@ -18,28 +18,12 @@
|
||||
package com.itsaky.androidide.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.ContextCompat.getColor
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import com.itsaky.androidide.resources.R.color
|
||||
import com.itsaky.androidide.R.xml
|
||||
import com.itsaky.androidide.app.IDEApplication.getInstance
|
||||
|
||||
abstract class BasePreferenceFragment : PreferenceFragmentCompat() {
|
||||
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(xml.ide_prefs, rootKey)
|
||||
}
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?,
|
||||
): View {
|
||||
return super.onCreateView(inflater, container, savedInstanceState).apply {
|
||||
setBackgroundColor(getColor(getInstance(), color.content_background))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,10 +39,12 @@ abstract class LogViewFragment : Fragment(), ShareableOutputFragment {
|
||||
var binding: FragmentLogBinding? = null
|
||||
|
||||
fun appendLog(line: LogLine) {
|
||||
val binding = this.binding ?: run {
|
||||
System.err.println("Cannot append log line. Binding is null.")
|
||||
return
|
||||
}
|
||||
val binding =
|
||||
this.binding
|
||||
?: run {
|
||||
System.err.println("Cannot append log line. Binding is null.")
|
||||
return
|
||||
}
|
||||
|
||||
var lineString =
|
||||
if (isSimpleFormattingEnabled()) {
|
||||
@@ -85,7 +87,7 @@ abstract class LogViewFragment : Fragment(), ShareableOutputFragment {
|
||||
editor.typefaceLineNumber = jetbrainsMono()
|
||||
editor.setTextSize(12f)
|
||||
editor.typefaceText = jetbrainsMono()
|
||||
editor.colorScheme = SchemeAndroidIDE()
|
||||
editor.colorScheme = SchemeAndroidIDE.newInstance(requireContext())
|
||||
editor.setEditorLanguage(LogLanguage())
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ public abstract class NonEditableEditorFragment extends Fragment
|
||||
editor.setTypefaceLineNumber(TypefaceUtilsKt.jetbrainsMono());
|
||||
editor.setTypefaceText(TypefaceUtilsKt.jetbrainsMono());
|
||||
editor.setTextSize(12);
|
||||
editor.setColorScheme(new SchemeAndroidIDE());
|
||||
editor.setColorScheme(SchemeAndroidIDE.newInstance(requireContext()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -39,7 +39,6 @@ public class ProgressSheet extends BaseBottomSheetFragment {
|
||||
private String message = "";
|
||||
private String subMessage = "";
|
||||
private boolean subMessageEnabled = false;
|
||||
private boolean welcomeTextEnabled = false;
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
||||
@@ -68,10 +67,6 @@ public class ProgressSheet extends BaseBottomSheetFragment {
|
||||
}
|
||||
binding.message.setLayoutParams(p);
|
||||
}
|
||||
|
||||
if (!welcomeTextEnabled) {
|
||||
binding.welcomeText.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -85,22 +80,15 @@ public class ProgressSheet extends BaseBottomSheetFragment {
|
||||
container.addView(binding.getRoot());
|
||||
}
|
||||
|
||||
public ProgressSheet setWelcomeTextEnabled(boolean enabled) {
|
||||
this.welcomeTextEnabled = enabled;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ProgressSheet setSubMessageEnabled(boolean enabled) {
|
||||
public void setSubMessageEnabled(boolean enabled) {
|
||||
this.subMessageEnabled = enabled;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ProgressSheet setSubMessage(String msg) {
|
||||
public void setSubMessage(String msg) {
|
||||
this.subMessage = msg;
|
||||
if (isShowing()) {
|
||||
binding.subMessage.setText(msg);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public ProgressSheet setMessage(String message) {
|
||||
|
||||
@@ -190,7 +190,6 @@ public class IDELanguageClientImpl implements ILanguageClient {
|
||||
|
||||
final ProgressSheet progress = new ProgressSheet();
|
||||
progress.setSubMessageEnabled(false);
|
||||
progress.setWelcomeTextEnabled(false);
|
||||
progress.setCancelable(false);
|
||||
progress.setMessage(activity().getString(string.msg_performing_actions));
|
||||
progress.show(activity().getSupportFragmentManager(), "quick_fix_progress");
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* This file is part of AndroidIDE.
|
||||
*
|
||||
* AndroidIDE is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* AndroidIDE is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.itsaky.androidide.syntax.colorschemes
|
||||
|
||||
import android.content.Context
|
||||
import com.itsaky.androidide.R.attr
|
||||
import com.itsaky.androidide.utils.isSystemInDarkMode
|
||||
import com.itsaky.androidide.utils.resolveAttr
|
||||
|
||||
/**
|
||||
* [SchemeAndroidIDE] implementation that uses dynamic colors.
|
||||
*
|
||||
* @author Akash Yadav
|
||||
*/
|
||||
class DynamicColorScheme : SchemeAndroidIDE() {
|
||||
|
||||
fun apply(context: Context) {
|
||||
val isInDarkMode = context.isSystemInDarkMode()
|
||||
val suface = context.resolveAttr(attr.colorSurface)
|
||||
val surfaceVariant = context.resolveAttr(attr.colorSurfaceVariant)
|
||||
val onSurface = context.resolveAttr(attr.colorOnSurface)
|
||||
val onSurfaceVariant = context.resolveAttr(attr.colorOnSurfaceVariant)
|
||||
val outline = context.resolveAttr(attr.colorOutline)
|
||||
setColor(WHOLE_BACKGROUND, suface)
|
||||
setColor(LINE_NUMBER_BACKGROUND, suface)
|
||||
setColor(LINE_NUMBER, onSurface)
|
||||
setColor(LINE_NUMBER_PANEL, surfaceVariant)
|
||||
setColor(LINE_NUMBER_PANEL_TEXT, onSurfaceVariant)
|
||||
setColor(CURRENT_LINE, surfaceVariant)
|
||||
setColor(TEXT_NORMAL, onSurface)
|
||||
setColor(COMPLETION_WND_BACKGROUND, context.resolveAttr(attr.colorPrimaryContainer))
|
||||
setColor(COMPLETION_WND_CORNER, outline)
|
||||
setColor(BLOCK_LINE, surfaceVariant)
|
||||
setColor(BLOCK_LINE_CURRENT, outline)
|
||||
setColor(UNDERLINE, outline)
|
||||
|
||||
if (!isInDarkMode) {
|
||||
applyLightColors()
|
||||
}
|
||||
}
|
||||
|
||||
private fun applyLightColors() {
|
||||
setColor(KEYWORD, 0xffd32f2f)
|
||||
setColor(OPERATOR, 0xff1976d2)
|
||||
setColor(LITERAL, 0xff558b2f)
|
||||
setColor(TYPE_NAME, 0xff1976d2)
|
||||
setColor(ANNOTATION, 0xff1976d2)
|
||||
setColor(FIELD, 0xffff6f00)
|
||||
|
||||
setColor(XML_TAG, 0xffe64a19)
|
||||
|
||||
setColor(LOG_TEXT_ERROR, 0xfff44336)
|
||||
setColor(LOG_TEXT_WARNING, 0xffffab00)
|
||||
setColor(LOG_TEXT_INFO, 0xff4CAF50)
|
||||
setColor(LOG_TEXT_DEBUG, 0xff212121)
|
||||
setColor(LOG_TEXT_VERBOSE, 0xff0288d1)
|
||||
|
||||
setColor(TODO_COMMENT, 0xffff6d00)
|
||||
setColor(FIXME_COMMENT, 0xffff6d00)
|
||||
setColor(COMMENT, 0xff9e9e9e)
|
||||
}
|
||||
|
||||
private fun setColor(key: Int, value: Long) {
|
||||
setColor(key, value.toInt())
|
||||
}
|
||||
}
|
||||
Executable → Regular
+11
-2
@@ -17,6 +17,7 @@
|
||||
*/
|
||||
package com.itsaky.androidide.syntax.colorschemes;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
|
||||
import io.github.rosemoe.sora.lang.styling.TextStyle;
|
||||
@@ -30,6 +31,8 @@ import io.github.rosemoe.sora.widget.schemes.EditorColorScheme;
|
||||
*/
|
||||
public class SchemeAndroidIDE extends EditorColorScheme {
|
||||
|
||||
protected SchemeAndroidIDE() {}
|
||||
|
||||
private static int current = EditorColorScheme.END_COLOR_ID;
|
||||
public static final int LOG_TEXT_INFO = ++current;
|
||||
public static final int LOG_TEXT_DEBUG = ++current;
|
||||
@@ -101,6 +104,12 @@ public class SchemeAndroidIDE extends EditorColorScheme {
|
||||
return TextStyle.makeStyle(id, true);
|
||||
}
|
||||
|
||||
public static SchemeAndroidIDE newInstance(Context context) {
|
||||
final var scheme = new DynamicColorScheme();
|
||||
scheme.apply(context);
|
||||
return scheme;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyDefault() {
|
||||
// Apply default colors
|
||||
@@ -129,14 +138,14 @@ public class SchemeAndroidIDE extends EditorColorScheme {
|
||||
setColor(COMPLETION_WND_BACKGROUND, 0xff757575);
|
||||
setColor(COMPLETION_WND_CORNER, 0xff9e9e9e);
|
||||
setColor(NON_PRINTABLE_CHAR, 0xffdddddd);
|
||||
|
||||
|
||||
setColor(KEYWORD, 0xffff6060);
|
||||
setColor(OPERATOR, 0xff4fc3f7);
|
||||
setColor(LITERAL, 0xff8bc34a);
|
||||
setColor(TYPE_NAME, 0xff4fc3f7);
|
||||
setColor(ANNOTATION, 0xff4fc3f7);
|
||||
setColor(FIELD, 0xfff0be4b);
|
||||
|
||||
|
||||
setColor(XML_TAG, 0xffff6060);
|
||||
|
||||
setColor(LOG_TEXT_ERROR, 0xfff44336);
|
||||
|
||||
@@ -21,6 +21,8 @@ package com.itsaky.androidide.syntax.highlighters;
|
||||
|
||||
import android.text.SpannableStringBuilder;
|
||||
|
||||
import com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE;
|
||||
|
||||
/**
|
||||
* A highlighter is used to highlight a small piece of code
|
||||
*
|
||||
@@ -28,5 +30,5 @@ import android.text.SpannableStringBuilder;
|
||||
* an EditorLanguage instead
|
||||
*/
|
||||
public interface Highlighter {
|
||||
SpannableStringBuilder highlight(String code, String match) throws Exception;
|
||||
SpannableStringBuilder highlight(SchemeAndroidIDE scheme, String code, String match) throws Exception;
|
||||
}
|
||||
|
||||
@@ -35,10 +35,9 @@ import io.github.rosemoe.sora.widget.schemes.EditorColorScheme;
|
||||
public class JavaHighlighter implements Highlighter {
|
||||
|
||||
@Override
|
||||
public SpannableStringBuilder highlight(String code, String match) throws Exception {
|
||||
public SpannableStringBuilder highlight(SchemeAndroidIDE scheme, String code, String match) throws Exception {
|
||||
final JavaLexer lexer = new JavaLexer(CharStreams.fromReader(new StringReader(code)));
|
||||
final SpannableStringBuilder sb = new SpannableStringBuilder();
|
||||
final EditorColorScheme scheme = new SchemeAndroidIDE();
|
||||
Token token;
|
||||
while ((token = lexer.nextToken()) != null) {
|
||||
if (token.getType() == JavaLexer.EOF) break;
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
/*
|
||||
* This file is part of AndroidIDE.
|
||||
*
|
||||
* AndroidIDE is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* AndroidIDE is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.itsaky.androidide.utils;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.google.android.material.transition.MaterialArcMotion;
|
||||
import com.google.android.material.transition.MaterialContainerTransform;
|
||||
|
||||
public class TransformUtils {
|
||||
|
||||
public static MaterialContainerTransform createContainerTransformFor(
|
||||
View start, View end, View drawingView) {
|
||||
MaterialContainerTransform transform = new MaterialContainerTransform();
|
||||
transform.setStartView(start);
|
||||
transform.setEndView(end);
|
||||
transform.addTarget(end);
|
||||
transform.setDrawingViewId(drawingView.getId());
|
||||
transform.setAllContainerColors(
|
||||
ContextCompat.getColor(
|
||||
drawingView.getContext(), com.itsaky.androidide.resources.R.color.primaryDarkColor));
|
||||
transform.setElevationShadowEnabled(true);
|
||||
transform.setPathMotion(new MaterialArcMotion());
|
||||
transform.setScrimColor(Color.TRANSPARENT);
|
||||
return transform;
|
||||
}
|
||||
}
|
||||
@@ -26,7 +26,8 @@ import android.util.TypedValue;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
import com.itsaky.androidide.R;
|
||||
import com.itsaky.androidide.utils.ResourceUtilsKt;
|
||||
|
||||
public class EmptyView extends RelativeLayout {
|
||||
|
||||
@@ -54,9 +55,7 @@ public class EmptyView extends RelativeLayout {
|
||||
|
||||
TextView text = new TextView(getContext());
|
||||
text.setText(com.itsaky.androidide.resources.R.string.msg_empty_view);
|
||||
text.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
getContext(), com.itsaky.androidide.resources.R.color.secondaryTextColor_light));
|
||||
text.setTextColor(ResourceUtilsKt.resolveAttr(getContext(), R.attr.colorSecondaryVariant));
|
||||
text.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
|
||||
|
||||
LayoutParams params = new LayoutParams(-2, -2);
|
||||
|
||||
@@ -17,12 +17,15 @@
|
||||
*/
|
||||
package com.itsaky.androidide.views;
|
||||
|
||||
import static com.itsaky.androidide.utils.ResourceUtilsKt.resolveAttr;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.itsaky.androidide.R;
|
||||
import com.itsaky.androidide.adapters.SymbolInputAdapter;
|
||||
import com.itsaky.androidide.views.editor.IDEEditor;
|
||||
|
||||
@@ -47,6 +50,7 @@ public class SymbolInputView extends RecyclerView {
|
||||
adapter = new SymbolInputAdapter(editor);
|
||||
setAdapter(adapter);
|
||||
setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false));
|
||||
setBackgroundColor(resolveAttr(editor.getContext(), R.attr.colorPrimaryContainer));
|
||||
}
|
||||
|
||||
public void setSymbols(Symbol... symbols) {
|
||||
@@ -77,15 +81,15 @@ public class SymbolInputView extends RecyclerView {
|
||||
public Symbol(String label, String commit) {
|
||||
this(label, commit, 1);
|
||||
}
|
||||
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
|
||||
public String getCommit() {
|
||||
return commit;
|
||||
}
|
||||
|
||||
|
||||
public int getOffset() {
|
||||
return offset;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.itsaky.androidide.views.editor;
|
||||
|
||||
import static android.view.View.MeasureSpec.AT_MOST;
|
||||
import static android.view.View.MeasureSpec.makeMeasureSpec;
|
||||
import static com.itsaky.androidide.utils.ResourceUtilsKt.resolveAttr;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
@@ -29,10 +30,10 @@ import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.blankj.utilcode.util.SizeUtils;
|
||||
import com.itsaky.androidide.resources.R;
|
||||
import com.itsaky.androidide.utils.ResourceUtilsKt;
|
||||
|
||||
import io.github.rosemoe.sora.widget.base.EditorPopupWindow;
|
||||
|
||||
@@ -74,8 +75,8 @@ public abstract class BaseEditorWindow extends AbstractPopupWindow {
|
||||
final var dp8 = dp4 * 2;
|
||||
|
||||
final var text = new TextView(context);
|
||||
text.setBackground(createBackground());
|
||||
text.setTextColor(ContextCompat.getColor(context, R.color.primaryTextColor));
|
||||
text.setBackground(createBackground(context));
|
||||
text.setTextColor(ResourceUtilsKt.resolveAttr(context, R.attr.colorOnPrimaryContainer));
|
||||
text.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
|
||||
text.setClickable(false);
|
||||
text.setFocusable(false);
|
||||
@@ -86,11 +87,11 @@ public abstract class BaseEditorWindow extends AbstractPopupWindow {
|
||||
return text;
|
||||
}
|
||||
|
||||
protected Drawable createBackground() {
|
||||
protected Drawable createBackground(final Context context) {
|
||||
GradientDrawable background = new GradientDrawable();
|
||||
background.setShape(GradientDrawable.RECTANGLE);
|
||||
background.setColor(0xff212121);
|
||||
background.setStroke(1, 0xffffffff);
|
||||
background.setColor(ResourceUtilsKt.resolveAttr(context, R.attr.colorPrimaryContainer));
|
||||
background.setStroke(1, ResourceUtilsKt.resolveAttr(context, R.attr.colorOutline));
|
||||
background.setCornerRadius(8);
|
||||
return background;
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ public class CodeEditorView extends LinearLayout {
|
||||
this.binding.editor.setHighlightCurrentBlock(true);
|
||||
this.binding.editor.getProps().autoCompletionOnComposing = true;
|
||||
this.binding.editor.setDividerWidth(SizeUtils.dp2px(1));
|
||||
this.binding.editor.setColorScheme(new SchemeAndroidIDE());
|
||||
this.binding.editor.setColorScheme(SchemeAndroidIDE.newInstance(context));
|
||||
this.binding.editor.setLineSeparator(LineSeparator.LF);
|
||||
|
||||
this.searchLayout = new EditorSearchLayout(context, this.binding.editor);
|
||||
|
||||
@@ -30,7 +30,6 @@ import android.view.ViewGroup
|
||||
import androidx.appcompat.view.menu.MenuBuilder
|
||||
import androidx.appcompat.view.menu.MenuItemImpl
|
||||
import androidx.appcompat.view.menu.SubMenuBuilder
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
||||
@@ -38,18 +37,18 @@ import androidx.transition.ChangeBounds
|
||||
import androidx.transition.TransitionManager
|
||||
import com.blankj.utilcode.util.SizeUtils
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import com.itsaky.androidide.resources.R
|
||||
import com.itsaky.androidide.actions.ActionData
|
||||
import com.itsaky.androidide.actions.ActionItem
|
||||
import com.itsaky.androidide.actions.ActionsRegistry
|
||||
import com.itsaky.androidide.actions.ActionsRegistry.Companion.getInstance
|
||||
import com.itsaky.androidide.actions.EditorActionItem
|
||||
import com.itsaky.androidide.actions.editor.SelectAllAction
|
||||
import com.itsaky.androidide.databinding.LayoutPopupMenuItemBinding
|
||||
import com.itsaky.androidide.lsp.api.ILanguageServerRegistry
|
||||
import com.itsaky.androidide.lsp.java.JavaLanguageServer
|
||||
import com.itsaky.androidide.lsp.models.DiagnosticItem
|
||||
import com.itsaky.androidide.lsp.xml.XMLLanguageServer
|
||||
import com.itsaky.androidide.resources.R
|
||||
import com.itsaky.androidide.utils.resolveAttr
|
||||
import io.github.rosemoe.sora.event.HandleStateChangeEvent
|
||||
import io.github.rosemoe.sora.event.ScrollEvent
|
||||
import io.github.rosemoe.sora.event.SelectionChangeEvent
|
||||
@@ -57,7 +56,6 @@ import io.github.rosemoe.sora.event.SubscriptionReceipt
|
||||
import io.github.rosemoe.sora.text.Cursor
|
||||
import io.github.rosemoe.sora.widget.CodeEditor
|
||||
import io.github.rosemoe.sora.widget.EditorTouchEventHandler
|
||||
import io.github.rosemoe.sora.widget.base.EditorPopupWindow
|
||||
import java.io.File
|
||||
import kotlin.math.max
|
||||
import kotlin.math.min
|
||||
@@ -185,12 +183,8 @@ open class EditorActionsMenu constructor(val editor: IDEEditor) :
|
||||
val drawable = GradientDrawable()
|
||||
drawable.shape = GradientDrawable.RECTANGLE
|
||||
drawable.cornerRadius = SizeUtils.dp2px(28f).toFloat() // Recommeneded size is 28dp
|
||||
drawable.color =
|
||||
ColorStateList.valueOf(ContextCompat.getColor(editor.context, R.color.content_background))
|
||||
drawable.setStroke(
|
||||
SizeUtils.dp2px(1f),
|
||||
ContextCompat.getColor(editor.context, R.color.primaryLightColor)
|
||||
)
|
||||
drawable.color = ColorStateList.valueOf(editor.context.resolveAttr(R.attr.colorSurface))
|
||||
drawable.setStroke(SizeUtils.dp2px(1f), editor.context.resolveAttr(R.attr.colorOutline))
|
||||
list.background = drawable
|
||||
}
|
||||
|
||||
@@ -355,8 +349,8 @@ open class EditorActionsMenu constructor(val editor: IDEEditor) :
|
||||
private fun findWidestItem(): Int {
|
||||
var widest = 0
|
||||
val text =
|
||||
LayoutInflater.from(editor.context).inflate(com.itsaky.androidide.R.layout.layout_popup_menu_item, null)
|
||||
as MaterialButton
|
||||
LayoutInflater.from(editor.context)
|
||||
.inflate(com.itsaky.androidide.R.layout.layout_popup_menu_item, null) as MaterialButton
|
||||
val dp30 = SizeUtils.dp2px(30f)
|
||||
val paddingHorizontal = text.paddingStart + text.paddingEnd
|
||||
val drawablePadding = text.iconPadding
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
package com.itsaky.androidide.views.editor;
|
||||
|
||||
import static com.itsaky.androidide.resources.R.string;
|
||||
import static com.itsaky.androidide.preferences.internal.EditorPreferencesKt.getVisiblePasswordFlag;
|
||||
import static com.itsaky.androidide.resources.R.string;
|
||||
import static com.itsaky.toaster.ToastUtilsKt.toast;
|
||||
|
||||
import android.app.Dialog;
|
||||
@@ -107,7 +107,7 @@ public class IDEEditor extends CodeEditor implements com.itsaky.androidide.edito
|
||||
window.setAdapter(new CompletionListAdapter());
|
||||
replaceComponent(EditorAutoCompletion.class, window);
|
||||
|
||||
setColorScheme(new SchemeAndroidIDE());
|
||||
setColorScheme(SchemeAndroidIDE.newInstance(context));
|
||||
setSearcher(new IDEEditorSearcher(this));
|
||||
getComponent(EditorTextActionWindow.class).setEnabled(false);
|
||||
subscribeEvent(SelectionChangeEvent.class, this::handleSelectionChange);
|
||||
@@ -381,7 +381,7 @@ public class IDEEditor extends CodeEditor implements com.itsaky.androidide.edito
|
||||
public boolean isValidLine(int line) {
|
||||
return line >= 0 && line < getText().getLineCount();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if the given column is valid for this editor's text.
|
||||
*
|
||||
@@ -872,7 +872,8 @@ public class IDEEditor extends CodeEditor implements com.itsaky.androidide.edito
|
||||
|
||||
@Override
|
||||
public void beginSearchMode() {
|
||||
throw new UnsupportedOperationException("Search ActionMode is not supported. Use CodeEditorView.beginSearch() instead.");
|
||||
throw new UnsupportedOperationException(
|
||||
"Search ActionMode is not supported. Use CodeEditorView.beginSearch() instead.");
|
||||
}
|
||||
|
||||
protected void dispatchDocumentSaveEvent() {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
android:id="@+id/icon_anchor"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="200dp"
|
||||
android:background="@color/primaryDarkColor"
|
||||
android:background="?attr/background"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -23,7 +23,6 @@
|
||||
android:layout_marginTop="-28dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:cardBackgroundColor="@color/primaryLightColor"
|
||||
app:cardCornerRadius="56dp"
|
||||
app:cardElevation="8dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -46,7 +45,7 @@
|
||||
android:layout_marginBottom="4dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/app_name"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textColor="?attr/colorOnPrimaryContainer"
|
||||
android:textSize="30sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -60,7 +59,7 @@
|
||||
android:gravity="center"
|
||||
android:text="@string/about_subtitle"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@color/secondaryTextColor"
|
||||
android:textColor="?attr/colorOnSecondaryContainer"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/title" />
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
android:id="@+id/editor_appBarLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:backgroundTint="@color/primaryDarkColor"
|
||||
android:background="?attr/colorSurface"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$Behavior">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
@@ -28,7 +28,6 @@
|
||||
|
||||
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||
android:id="@+id/build_progress_indicator"
|
||||
style="@style/AppTheme.ProgressIndicator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true" />
|
||||
@@ -44,7 +43,6 @@
|
||||
style="@style/AppTheme.TabLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/primaryDarkColor"
|
||||
app:tabGravity="start" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
@@ -54,7 +52,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:background="@color/content_background"
|
||||
android:background="?attr/colorSurface"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
||||
|
||||
<!--Views in this flipper are dynamically added and must be instances of CodeEditorView-->
|
||||
@@ -63,7 +61,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="@dimen/editor_sheet_peek_height"
|
||||
android:background="@color/content_background" />
|
||||
android:background="?attr/colorSurface" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -74,8 +72,8 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/app_name"
|
||||
android:textColor="@color/secondaryTextColor"
|
||||
android:textSize="30sp"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
android:textColor="?attr/colorOnSurface"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -89,7 +87,7 @@
|
||||
android:layout_marginTop="8dp"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:textColor="@color/secondaryTextColor_light"
|
||||
android:textColor="?attr/colorSecondaryVariant"
|
||||
android:textSize="13sp"
|
||||
app:layout_constraintEnd_toEndOf="@id/no_editor_title"
|
||||
app:layout_constraintStart_toStartOf="@id/no_editor_title"
|
||||
@@ -120,8 +118,6 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
app:headerLayout="@layout/layout_nav_header"
|
||||
app:itemIconTint="@color/primaryIconColor"
|
||||
app:itemTextColor="@color/primaryTextColor"
|
||||
app:menu="@menu/menu_editor_nav" />
|
||||
|
||||
<com.google.android.material.navigation.NavigationView
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
android:id="@+id/appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="?attr/colorPrimaryDark"
|
||||
android:gravity="center"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$Behavior">
|
||||
|
||||
@@ -29,9 +28,7 @@
|
||||
android:focusable="false"
|
||||
android:gravity="center"
|
||||
android:text="@string/app_name"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="24sp"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
android:id="@+id/appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/primaryDarkColor"
|
||||
android:elevation="8dp"
|
||||
app:elevation="8dp"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$Behavior">
|
||||
|
||||
@@ -30,8 +30,7 @@
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:text="@string/get_started"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -43,8 +42,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:text="@string/msg_create_new_project_greeting"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@color/primaryTextColorLight"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/getStarted" />
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitCenter"
|
||||
app:tint="?attr/colorOnBackground"
|
||||
app:srcCompat="@drawable/ic_github" />
|
||||
|
||||
<ImageView
|
||||
@@ -46,6 +47,7 @@
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitCenter"
|
||||
app:tint="?attr/colorOnBackground"
|
||||
app:srcCompat="@drawable/ic_telegram" />
|
||||
|
||||
<ImageView
|
||||
@@ -60,12 +62,14 @@
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitCenter"
|
||||
app:tint="?attr/colorOnBackground"
|
||||
app:srcCompat="@drawable/ic_email" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/website"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
app:tint="?attr/colorOnBackground"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
@@ -78,6 +82,7 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/licenses"
|
||||
app:tint="?attr/colorOnBackground"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginStart="16dp"
|
||||
@@ -101,8 +106,7 @@
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:text="@string/title_translations"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleLarge" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
@@ -117,9 +121,10 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:textSize="15sp" />
|
||||
tools:text="Hindi - Akash Yadav"
|
||||
android:layout_marginBottom="16dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/footer_text"
|
||||
@@ -127,7 +132,9 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/secondaryTextColor" />
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodySmall"
|
||||
android:textColor="?attr/colorOnBackground"
|
||||
tools:text="AndroidIDE v2.1.3-beta for arm64-v8a" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -1,63 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/linearLayout3"
|
||||
android:layout_width="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/linearLayout3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/contentIconView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
android:layout_marginStart="16dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/contentTextView" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/contentIconView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/contentTextView" />
|
||||
<TextView
|
||||
android:id="@+id/contentTextView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:alpha="0.8"
|
||||
android:letterSpacing="0.02"
|
||||
android:lineSpacingExtra="7sp"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
app:layout_constraintBottom_toTopOf="@+id/rightButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/contentIconView"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="Sync the project." />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contentTextView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:alpha="0.8"
|
||||
android:letterSpacing="0.02"
|
||||
android:lineSpacingExtra="7sp"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="normal"
|
||||
app:layout_constraintBottom_toTopOf="@+id/rightButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/contentIconView"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/leftButton"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rightButton"
|
||||
app:layout_constraintEnd_toStartOf="@+id/rightButton"
|
||||
app:layout_constraintTop_toTopOf="@+id/rightButton"
|
||||
tools:text="Cancel" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/leftButton"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rightButton"
|
||||
app:layout_constraintEnd_toStartOf="@+id/rightButton"
|
||||
app:layout_constraintTop_toTopOf="@+id/rightButton"
|
||||
app:rippleColor="@color/primaryDarkColor" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/rightButton"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="9dp"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:rippleColor="@color/primaryDarkColor" />
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/rightButton"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="9dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:text="Sync" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="false"
|
||||
android:max="100"
|
||||
app:indicatorColor="@color/secondaryColor"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
||||
@@ -1,35 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.itsaky.androidide.views.editor.IDEEditor
|
||||
android:id="@+id/editor"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1.0" />
|
||||
|
||||
<com.itsaky.androidide.views.editor.IDEEditor
|
||||
android:id="@+id/editor"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1.0" />
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/diagnostic_text_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fillViewport="true">
|
||||
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/diagnostic_text_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/content_background"
|
||||
android:fillViewport="true">
|
||||
<TextView
|
||||
android:id="@+id/diagnostic_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:ellipsize="end"
|
||||
android:focusable="true"
|
||||
android:padding="8dp"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/diagnostic_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_ripple"
|
||||
android:clickable="true"
|
||||
android:ellipsize="end"
|
||||
android:focusable="true"
|
||||
android:padding="8dp"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="12sp" />
|
||||
|
||||
</HorizontalScrollView>
|
||||
</HorizontalScrollView>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -1,88 +1,96 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/relativeLayout2"
|
||||
android:layout_width="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/relativeLayout2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/colorPrimaryContainer"
|
||||
android:gravity="center_vertical"
|
||||
tools:ignore="SmallSp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/completion_type"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/primaryLightColor"
|
||||
android:layout_marginTop="2dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:ellipsize="start"
|
||||
android:gravity="center_vertical"
|
||||
tools:ignore="SmallSp">
|
||||
android:singleLine="true"
|
||||
android:textColor="?attr/colorSecondaryVariant"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="Class" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/completion_type"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:ellipsize="start"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/primaryTextColorLight"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/completion_label"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:textColor="?attr/colorOnPrimaryContainer"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toStartOf="@id/completion_type"
|
||||
app:layout_constraintStart_toEndOf="@id/completion_iconText"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="MainActivity" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/completion_label"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="13sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toStartOf="@id/completion_type"
|
||||
app:layout_constraintStart_toEndOf="@id/completion_iconText"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/completion_detail"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/primaryTextColorLight"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/completion_iconText"
|
||||
app:layout_constraintTop_toBottomOf="@id/completion_label" />
|
||||
<TextView
|
||||
android:id="@+id/completion_detail"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:textColor="?attr/colorSecondaryVariant"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/completion_iconText"
|
||||
app:layout_constraintTop_toBottomOf="@id/completion_label"
|
||||
tools:text="com.itsaky.androidide.MainActivity" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/completion_api_info"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/completion_iconText"
|
||||
app:layout_constraintTop_toBottomOf="@id/completion_detail" />
|
||||
<TextView
|
||||
android:id="@+id/completion_api_info"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodySmall"
|
||||
android:textColor="?attr/colorSecondaryVariant"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/completion_iconText"
|
||||
app:layout_constraintTop_toBottomOf="@id/completion_detail"
|
||||
tools:text="Added in API 1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/completion_iconText"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:background="@color/secondaryColor"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/completion_iconText"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:backgroundTint="?attr/colorPrimaryContainer"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="F" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
@@ -15,98 +15,95 @@
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".CrashHandlerActivity">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".CrashHandlerActivity">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/close_button"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_margin="16dp"
|
||||
android:background="@drawable/bg_ripple"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_close" />
|
||||
<ImageButton
|
||||
android:id="@+id/close_button"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_margin="16dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_close"
|
||||
app:tint="?attr/colorOnPrimaryContainer" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/crash_title"
|
||||
<TextView
|
||||
android:id="@+id/crash_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/msg_ide_crashed"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/crash_subtitle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="@string/msg_report_crash"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
app:layout_constraintEnd_toStartOf="@+id/close_button"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/crash_title" />
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/log_text_container"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_margin="16dp"
|
||||
android:fillViewport="true"
|
||||
app:layout_constraintBottom_toTopOf="@+id/textView4"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/crash_subtitle">
|
||||
|
||||
<HorizontalScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/log_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/msg_ide_crashed"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
android:layout_height="match_parent"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
tools:text="This is an error message." />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/crash_subtitle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="@string/msg_report_crash"
|
||||
android:textColor="@color/secondaryTextColor_light"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintEnd_toStartOf="@+id/close_button"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/crash_title" />
|
||||
</HorizontalScrollView>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/log_text_container"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_margin="16dp"
|
||||
android:fillViewport="true"
|
||||
app:layout_constraintBottom_toTopOf="@+id/textView4"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/crash_subtitle">
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<HorizontalScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true">
|
||||
<TextView
|
||||
android:id="@+id/textView4"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/msg_crash_report_hint"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodySmall"
|
||||
android:textColor="?attr/colorOnBackground"
|
||||
app:layout_constraintBottom_toTopOf="@+id/report_button"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/log_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:textColor="@color/secondaryColor"
|
||||
tools:text="This is an error message." />
|
||||
|
||||
</HorizontalScrollView>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView4"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/msg_crash_report_hint"
|
||||
android:textColor="@color/secondaryTextColor"
|
||||
app:layout_constraintBottom_toTopOf="@+id/report_button"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/report_button"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:backgroundTint="@color/secondaryColor"
|
||||
android:text="@string/msg_copy_report_action"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<Button
|
||||
android:id="@+id/report_button"
|
||||
style="@style/Widget.Material3.Button.ElevatedButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/msg_copy_report_action"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -33,7 +33,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/classtype_class"
|
||||
android:theme="@style/AppTheme.MaterialToggleButton"
|
||||
app:icon="@drawable/ic_language_java" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
@@ -42,7 +41,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/classtype_activity"
|
||||
android:theme="@style/AppTheme.MaterialToggleButton"
|
||||
app:icon="@drawable/ic_filetype_activity" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
@@ -51,7 +49,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/classtype_interface"
|
||||
android:theme="@style/AppTheme.MaterialToggleButton"
|
||||
app:icon="@drawable/ic_filetype_interface" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
@@ -60,7 +57,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/classtype_enum"
|
||||
android:theme="@style/AppTheme.MaterialToggleButton"
|
||||
app:icon="@drawable/ic_filetype_enum" />
|
||||
|
||||
</com.google.android.material.button.MaterialButtonToggleGroup>
|
||||
@@ -75,11 +71,9 @@
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:hint="@string/file_name"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:counterEnabled="true"
|
||||
app:counterMaxLength="40"
|
||||
app:startIconDrawable="@drawable/ic_file_rename"
|
||||
app:startIconTint="@color/primaryIconColor">
|
||||
app:startIconDrawable="@drawable/ic_file_rename">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/colorSurface"
|
||||
android:orientation="vertical"
|
||||
tools:ignore="Overdraw">
|
||||
|
||||
<include
|
||||
android:id="@+id/info"
|
||||
layout="@layout/layout_diagnostic_item" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/diagnostics"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/content_background"
|
||||
android:orientation="vertical"
|
||||
tools:ignore="Overdraw">
|
||||
|
||||
<include
|
||||
android:id="@+id/info"
|
||||
layout="@layout/layout_diagnostic_item" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/diagnostics"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp" />
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
tools:listitem="@layout/layout_diagnostic_item" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/msg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="11sp" />
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/msg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp"
|
||||
android:textColor="?attr/colorOnPrimaryContainer"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="11sp"
|
||||
tools:background="?attr/colorPrimaryContainer"
|
||||
tools:text="';' expected" />
|
||||
|
||||
@@ -1,34 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="true"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:foreground="?attr/selectableItemBackground"
|
||||
android:gravity="top|start"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:scaleType="center"
|
||||
app:tint="?attr/colorPrimary"
|
||||
tools:src="@drawable/ic_error" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/content_background"
|
||||
android:clickable="true"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:foreground="?attr/selectableItemBackground"
|
||||
android:gravity="top|start"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:scaleType="center" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="15sp" />
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
tools:text="Diagnostic message" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
|
||||
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||
android:id="@+id/progress"
|
||||
style="@style/AppTheme.ProgressIndicator"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
@@ -23,12 +22,12 @@
|
||||
<ViewFlipper
|
||||
android:id="@+id/header_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/editor_sheet_collapsed_height"
|
||||
android:background="@color/primaryDarkColor">
|
||||
android:layout_height="@dimen/editor_sheet_collapsed_height">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:background="?attr/colorPrimaryContainer"
|
||||
android:orientation="vertical"
|
||||
tools:ignore="UselessParent">
|
||||
|
||||
@@ -40,8 +39,8 @@
|
||||
android:maxLines="1"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="14sp" />
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
tools:text="Configure project :app" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/swipe_hint"
|
||||
@@ -50,7 +49,8 @@
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:text="@string/msg_swipe_up"
|
||||
android:textColor="@color/secondaryTextColor"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodySmall"
|
||||
android:textColor="?attr/colorOnBackground"
|
||||
android:textSize="11sp" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -62,8 +62,7 @@
|
||||
style="@style/AppTheme.TabLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/header_container"
|
||||
android:backgroundTint="@color/primaryDarkColor" />
|
||||
android:layout_below="@id/header_container" />
|
||||
|
||||
<androidx.legacy.widget.Space
|
||||
android:id="@+id/space_bottom"
|
||||
@@ -78,7 +77,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/space_bottom"
|
||||
android:layout_below="@id/tabs"
|
||||
android:background="@color/content_background" />
|
||||
android:background="?attr/colorPrimaryContainer" />
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/clear_fab"
|
||||
@@ -87,8 +86,7 @@
|
||||
android:layout_above="@id/space_bottom"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/ic_close"
|
||||
app:backgroundTint="@color/secondaryColor" />
|
||||
android:src="@drawable/ic_close" />
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/share_output_fab"
|
||||
@@ -100,8 +98,7 @@
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:src="@drawable/ic_share"
|
||||
app:backgroundTint="@color/secondaryColor" />
|
||||
android:src="@drawable/ic_share" />
|
||||
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -27,12 +27,10 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/msg_replacement"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:startIconDrawable="@drawable/ic_search_replace"
|
||||
app:startIconTint="@color/primaryIconColor">
|
||||
app:startIconDrawable="@drawable/ic_search_replace">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -1,43 +1,49 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:padding="8dp">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:padding="8dp">
|
||||
|
||||
<ViewFlipper
|
||||
android:id="@+id/chevronLoadingSwitcher"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_marginEnd="8dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/filetree_chevron"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_chevron_right" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/loading_progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true" />
|
||||
|
||||
</ViewFlipper>
|
||||
<ViewFlipper
|
||||
android:id="@+id/chevronLoadingSwitcher"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_marginEnd="8dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/filetree_icon"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginEnd="8dp" />
|
||||
android:id="@+id/filetree_chevron"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_chevron_right"
|
||||
app:tint="?attr/colorPrimary" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/filetree_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@color/primaryTextColor" />
|
||||
<ProgressBar
|
||||
android:id="@+id/loading_progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true" />
|
||||
|
||||
</ViewFlipper>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/filetree_icon"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
app:tint="?attr/colorPrimary"
|
||||
tools:src="@drawable/ic_language_java" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/filetree_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodySmall"
|
||||
android:textColor="?attr/colorOnSurface"
|
||||
tools:text="@string/app_name" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -17,9 +17,10 @@
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/primaryDarkColor">
|
||||
android:background="?attr/colorPrimaryContainer">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/search_input"
|
||||
@@ -35,7 +36,8 @@
|
||||
android:maxLines="1"
|
||||
app:layout_constraintEnd_toStartOf="@id/more_options"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="AndroidIDE" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageButton
|
||||
android:id="@+id/more_options"
|
||||
@@ -44,7 +46,7 @@
|
||||
android:layout_marginEnd="8dp"
|
||||
android:background="@android:color/transparent"
|
||||
android:src="@drawable/ic_more_vert_black_20dp"
|
||||
android:tint="@color/primaryIconColor"
|
||||
android:tint="?attr/colorPrimary"
|
||||
app:layout_constraintBottom_toBottomOf="@id/search_input"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/search_input"
|
||||
@@ -58,13 +60,10 @@
|
||||
android:layout_height="40dp"
|
||||
android:text="@string/previous"
|
||||
android:textAllCaps="true"
|
||||
|
||||
android:textColor="@color/primaryTextColor"
|
||||
app:layout_constraintEnd_toStartOf="@+id/next"
|
||||
app:layout_constraintHorizontal_weight="0.25"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/search_input"
|
||||
app:rippleColor="@color/secondaryColor" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/search_input" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
@@ -74,13 +73,11 @@
|
||||
android:layout_height="40dp"
|
||||
android:text="@string/next"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
app:layout_constraintEnd_toStartOf="@+id/replace"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintHorizontal_weight="0.25"
|
||||
app:layout_constraintStart_toEndOf="@+id/prev"
|
||||
app:layout_constraintTop_toBottomOf="@+id/search_input"
|
||||
app:rippleColor="@color/secondaryColor" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/search_input" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/replace"
|
||||
@@ -89,13 +86,11 @@
|
||||
android:layout_height="40dp"
|
||||
android:text="@string/replace"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
app:layout_constraintEnd_toStartOf="@+id/close"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintHorizontal_weight="0.25"
|
||||
app:layout_constraintStart_toEndOf="@+id/next"
|
||||
app:layout_constraintTop_toBottomOf="@+id/search_input"
|
||||
app:rippleColor="@color/secondaryColor" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/search_input" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/close"
|
||||
@@ -104,12 +99,10 @@
|
||||
android:layout_height="40dp"
|
||||
android:text="@string/btn_close"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintHorizontal_weight="0.25"
|
||||
app:layout_constraintStart_toEndOf="@+id/replace"
|
||||
app:layout_constraintTop_toBottomOf="@+id/search_input"
|
||||
app:rippleColor="@color/secondaryColor" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/search_input" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -27,10 +27,9 @@
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:textAlignment="textStart"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="14sp"
|
||||
android:textColor="?attr/colorOnBackground"
|
||||
android:textStyle="bold"
|
||||
app:iconPadding="8dp"
|
||||
app:iconTint="@color/primaryTextColor"
|
||||
app:iconTint="?attr/colorOnBackground"
|
||||
tools:icon="@drawable/ic_add"
|
||||
tools:text="@string/msg_create_new_project" />
|
||||
@@ -1,33 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
app:tint="?attr/colorOnSurface"
|
||||
tools:src="@drawable/ic_new_file" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_ripple"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:scaleType="fitCenter" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_toEndOf="@id/icon"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="16sp" />
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_toEndOf="@id/icon"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
tools:text="New file" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
@@ -20,10 +20,9 @@
|
||||
style="@style/Widget.Material3.Button.TextButton.Icon"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:background="@drawable/bg_ripple"
|
||||
android:clickable="true"
|
||||
android:drawablePadding="16dp"
|
||||
android:drawableTint="@color/secondaryColor"
|
||||
android:drawableTint="?attr/colorPrimary"
|
||||
android:focusable="true"
|
||||
android:gravity="start|center_vertical"
|
||||
android:paddingStart="16dp"
|
||||
@@ -31,7 +30,6 @@
|
||||
android:paddingEnd="0dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
app:iconPadding="0dp"
|
||||
app:iconTint="@color/secondaryColor"
|
||||
app:iconTint="?attr/colorPrimary"
|
||||
tools:icon="@drawable/ic_code" />
|
||||
@@ -1,50 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="start|center_vertical"
|
||||
android:paddingTop="16dp">
|
||||
|
||||
<com.google.android.material.progressindicator.CircularProgressIndicator
|
||||
android:id="@+id/progress"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:padding="10dp"
|
||||
tools:progress="60" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/message"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="start|center_vertical"
|
||||
android:paddingTop="16dp">
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_toEndOf="@id/progress"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
tools:text="A long running task" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:padding="10dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/message"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_toEndOf="@id/progress"
|
||||
android:ellipsize="end"
|
||||
android:singleLine="true"
|
||||
android:textSize="15sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/subMessage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/message"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_toEndOf="@id/progress"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="2"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/welcomeText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/progress"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="24dp"
|
||||
android:text="@string/get_ready_for_something_awesome"
|
||||
android:textColor="@color/secondaryTextColor_light"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
<TextView
|
||||
android:id="@+id/subMessage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/message"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_toEndOf="@id/progress"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:maxLines="2"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodySmall"
|
||||
android:textColor="?attr/colorOnBackground"
|
||||
tools:text="@string/please_wait" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
@@ -28,9 +28,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:hint="@string/hint_search_tasks"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:boxBackgroundColor="@color/content_background">
|
||||
android:hint="@string/hint_search_tasks">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_below="@id/exec"
|
||||
android:background="@color/primaryLightColor" />
|
||||
android:background="?attr/colorPrimaryContainer" />
|
||||
|
||||
<ViewFlipper
|
||||
android:id="@+id/flipper"
|
||||
|
||||
@@ -50,15 +50,11 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@android:string/cancel"
|
||||
android:textColor="@color/secondaryColor"
|
||||
app:cornerRadius="8dp"
|
||||
app:icon="@drawable/ic_close"
|
||||
app:iconTint="@color/secondaryColor"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/msg"
|
||||
app:rippleColor="@color/primaryLightColor"
|
||||
app:strokeColor="@color/secondaryColor"
|
||||
app:strokeWidth="2dp" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -36,9 +36,7 @@
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:hint="@string/text_to_search"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:startIconDrawable="@drawable/ic_search"
|
||||
app:startIconTint="@color/primaryIconColor">
|
||||
app:startIconDrawable="@drawable/ic_search">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:layout_width="match_parent"
|
||||
@@ -54,11 +52,9 @@
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:hint="@string/hint_find_project_filter"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:helperText="@string/msg_find_project_filter"
|
||||
app:helperTextEnabled="true"
|
||||
app:startIconDrawable="@drawable/ic_filter"
|
||||
app:startIconTint="@color/primaryIconColor">
|
||||
app:startIconDrawable="@drawable/ic_filter">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -1,63 +1,61 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
tools:ignore="Overdraw">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/item"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/content_background"
|
||||
tools:ignore="Overdraw">
|
||||
android:clickable="true"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:foreground="?attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/item"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/content_background"
|
||||
android:clickable="true"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:foreground="?attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:scaleType="center" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:scaleType="center" />
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
tools:text="Filename" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="15sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
<HorizontalScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/item"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:fillViewport="true"
|
||||
android:paddingStart="16dp"
|
||||
tools:ignore="RtlSymmetry">
|
||||
|
||||
<HorizontalScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/item"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:fillViewport="true"
|
||||
android:paddingStart="16dp"
|
||||
tools:ignore="RtlSymmetry">
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/items"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
tools:ignore="ScrollViewSize" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/items"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
tools:ignore="ScrollViewSize" />
|
||||
|
||||
</HorizontalScrollView>
|
||||
</HorizontalScrollView>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:gravity="top|start"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/content_background"
|
||||
android:clickable="true"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:foreground="?attr/selectableItemBackground"
|
||||
android:gravity="top|start"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="16sp" />
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:textSize="16sp"
|
||||
tools:text="@string/app_name" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -1,45 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button
|
||||
android:id="@+id/title"
|
||||
style="@style/Widget.Material3.Button.Icon"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:background="?attr/colorPrimaryContainer"
|
||||
android:elevation="0dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:text="@string/build_output"
|
||||
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
|
||||
app:icon="@drawable/ic_chevron_down"
|
||||
app:iconPadding="8dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/shadow"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="10dp"
|
||||
android:background="@drawable/bg_shadow"
|
||||
android:orientation="horizontal" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button
|
||||
android:id="@+id/title"
|
||||
style="@style/Widget.Material3.Button.Icon"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:background="@color/primaryDarkColor"
|
||||
android:elevation="0dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:text="@string/build_output"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
app:icon="@drawable/ic_chevron_down"
|
||||
app:iconPadding="8dp"
|
||||
app:iconTint="@color/primaryTextColor"
|
||||
app:rippleColor="@color/rippleHighlightColor" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/shadow"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="10dp"
|
||||
android:background="@drawable/bg_shadow"
|
||||
android:orientation="horizontal" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="-6dp"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="-2dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp" />
|
||||
android:layout_marginTop="-6dp"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="-2dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -15,38 +15,40 @@
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:minHeight="35dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="4dp"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingBottom="4dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:padding="4dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_android"
|
||||
app:tint="?attr/colorPrimary" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_ripple"
|
||||
android:clickable="true"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:minHeight="35dp"
|
||||
android:orientation="horizontal"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="4dp"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingBottom="4dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:padding="4dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_android" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="4dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
tools:text="Button" />
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
|
||||
tools:text="Button" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -7,5 +7,4 @@
|
||||
android:layout_height="40dp"
|
||||
android:gravity="center"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/symbolInput_text"
|
||||
tools:text="↹" />
|
||||
|
||||
@@ -1,26 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp">
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/slider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingBottom="8dp">
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/slider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:stepSize="1.0"
|
||||
android:value="14.0"
|
||||
android:valueFrom="6.0"
|
||||
android:valueTo="32.0"
|
||||
app:haloColor="@color/secondaryLightColor"
|
||||
app:thumbColor="@color/secondaryColor"
|
||||
app:thumbElevation="4dp"
|
||||
app:trackColorActive="@color/secondaryColor" />
|
||||
android:stepSize="1.0"
|
||||
android:value="14.0"
|
||||
android:valueFrom="6.0"
|
||||
android:valueTo="32.0"
|
||||
app:thumbElevation="4dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -1,38 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/footer"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/footer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipChildren="false"
|
||||
android:minHeight="72dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:paddingBottom="8dp">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/exit_button"
|
||||
style="@style/Widget.Material3.Button.TextButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipChildren="false"
|
||||
android:minHeight="72dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:paddingBottom="8dp">
|
||||
android:elevation="0dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/exit" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/exit_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/transparent"
|
||||
android:elevation="0dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/exit"
|
||||
android:textColor="?attr/colorOnSurface" />
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/next_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/next"
|
||||
android:textColor="@color/primaryTextColor" />
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/next_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/next" />
|
||||
</LinearLayout>
|
||||
@@ -11,15 +11,13 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/project_app_name"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:counterEnabled="true"
|
||||
app:counterMaxLength="20"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:placeholderText="My Application"
|
||||
app:startIconDrawable="@drawable/ic_android"
|
||||
app:startIconTint="@color/primaryIconColor">
|
||||
app:startIconDrawable="@drawable/ic_android">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/et_app_name"
|
||||
@@ -37,15 +35,13 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/package_name"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:counterEnabled="true"
|
||||
app:counterMaxLength="40"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/til_app_name"
|
||||
app:placeholderText="com.example.myapplication"
|
||||
app:startIconDrawable="@drawable/ic_package"
|
||||
app:startIconTint="@color/primaryIconColor">
|
||||
app:startIconDrawable="@drawable/ic_package">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/et_package_name"
|
||||
@@ -63,7 +59,6 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/wizard_save_location"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:endIconDrawable="@drawable/ic_folder"
|
||||
app:endIconMode="custom"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -89,12 +84,11 @@
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:hint="@string/wizard_language"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/til_save_location">
|
||||
|
||||
<AutoCompleteTextView
|
||||
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||
android:id="@+id/et_language"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -111,13 +105,12 @@
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:hint="@string/wizard_toolchain"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/til_language">
|
||||
|
||||
<AutoCompleteTextView
|
||||
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||
android:id="@+id/et_toolchain"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -134,14 +127,12 @@
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:hint="@string/minimum_sdk"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/til_toolchain"
|
||||
app:startIconDrawable="@drawable/ic_min_sdk"
|
||||
app:startIconTint="@color/primaryIconColor">
|
||||
app:startIconDrawable="@drawable/ic_min_sdk">
|
||||
|
||||
<AutoCompleteTextView
|
||||
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||
android:id="@+id/et_min_sdk"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -158,14 +149,12 @@
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:hint="@string/target_sdk"
|
||||
android:theme="@style/AppTheme.TextInputLayout"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/til_min_sdk"
|
||||
app:startIconDrawable="@drawable/ic_target_sdk"
|
||||
app:startIconTint="@color/primaryIconColor">
|
||||
app:startIconDrawable="@drawable/ic_target_sdk">
|
||||
|
||||
<AutoCompleteTextView
|
||||
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||
android:id="@+id/et_target_sdk"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -31,6 +31,7 @@ import androidx.multidex.BuildConfig;
|
||||
import androidx.multidex.MultiDexApplication;
|
||||
|
||||
import com.blankj.utilcode.util.ThrowableUtils;
|
||||
import com.google.android.material.color.DynamicColors;
|
||||
import com.itsaky.androidide.resources.R;
|
||||
import com.itsaky.androidide.managers.PreferenceManager;
|
||||
import com.itsaky.androidide.managers.ToolsManager;
|
||||
@@ -101,7 +102,9 @@ public abstract class BaseApplication extends MultiDexApplication {
|
||||
mPrefsManager = new PreferenceManager(this);
|
||||
JavaCharacter.initMap();
|
||||
ToolsManager.init(this, null);
|
||||
|
||||
|
||||
DynamicColors.applyToActivitiesIfAvailable(this);
|
||||
|
||||
createNotificationChannels();
|
||||
}
|
||||
|
||||
|
||||
@@ -18,12 +18,21 @@
|
||||
package com.itsaky.androidide.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import android.content.res.Resources.Theme
|
||||
import android.util.TypedValue
|
||||
|
||||
fun Context.isSystemInDarkMode(): Boolean {
|
||||
return this.resources.configuration.isSystemInDarkMode()
|
||||
}
|
||||
|
||||
fun Configuration.isSystemInDarkMode(): Boolean {
|
||||
return (uiMode and Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES
|
||||
}
|
||||
|
||||
@JvmOverloads
|
||||
fun Context.resolveAttr(id: Int, resolveRefs: Boolean = true): Int {
|
||||
return theme.resolveAttr(id)
|
||||
return theme.resolveAttr(id, resolveRefs)
|
||||
}
|
||||
|
||||
@JvmOverloads
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:background="@color/primaryLightColor"
|
||||
android:background="?attr/colorOutline"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
||||
@@ -1,33 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@color/primaryColor"
|
||||
tools:ignore="Overdraw">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:background="?attr/colorPrimaryContainer"
|
||||
tools:ignore="Overdraw">
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:shapeAppearance="@style/AppTheme.ShapeAppearance.MainFragment.Logo"
|
||||
android:src="@drawable/ic_launcher_main" />
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:src="@drawable/ic_launcher_main"
|
||||
app:shapeAppearance="@style/AppTheme.ShapeAppearance.MainFragment.Logo" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toEndOf="@id/icon"
|
||||
android:elevation="8dp"
|
||||
android:text="@string/app_name"
|
||||
android:textColor="@color/primaryTextColor"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold" />
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toEndOf="@id/icon"
|
||||
android:elevation="8dp"
|
||||
android:text="@string/app_name"
|
||||
android:textColor="?attr/colorOnPrimaryContainer"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
@@ -18,8 +18,11 @@
|
||||
package com.itsaky.androidide.preferences
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.PorterDuff.Mode.SRC_ATOP
|
||||
import android.graphics.PorterDuffColorFilter
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.preference.Preference
|
||||
import com.itsaky.androidide.utils.resolveAttr
|
||||
|
||||
/**
|
||||
* Base class for preferences.
|
||||
@@ -35,10 +38,16 @@ abstract class BasePreference : IPreference() {
|
||||
pref.key = this.key
|
||||
pref.title = context.getString(this.title)
|
||||
this.summary?.let { pref.summary = context.getString(it) }
|
||||
|
||||
|
||||
pref.isIconSpaceReserved = this.icon != null
|
||||
this.icon?.let { pref.icon = ContextCompat.getDrawable(context, it) }
|
||||
|
||||
this.icon?.let {
|
||||
pref.icon =
|
||||
ContextCompat.getDrawable(context, it)?.apply {
|
||||
colorFilter =
|
||||
PorterDuffColorFilter(context.resolveAttr(R.attr.colorOnPrimaryContainer), SRC_ATOP)
|
||||
}
|
||||
}
|
||||
|
||||
pref.setOnPreferenceClickListener { onPreferenceClick(pref) }
|
||||
pref.setOnPreferenceChangeListener(this::onPreferenceChanged)
|
||||
return pref
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
@@ -17,7 +16,7 @@
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
@@ -29,7 +28,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:theme="@style/AppTheme.TextInputLayout">
|
||||
tools:hint="Type something">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ AndroidIDE is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/primaryLightColor" android:state_enabled="false"/>
|
||||
<item android:color="@color/secondaryLightColor" android:state_focused="true"/>
|
||||
<item android:color="@color/secondaryColor"/>
|
||||
</selector>
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ AndroidIDE is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/secondaryLightColor_transparent" android:state_checked="true" android:state_selected="true" />
|
||||
<item android:color="@color/content_background" />
|
||||
</selector>
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ AndroidIDE is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:alpha="@dimen/m3_comp_switch_disabled_track_opacity"
|
||||
android:color="?attr/colorSurfaceVariant"
|
||||
android:state_enabled="false" android:state_checked="false"/>
|
||||
<item android:alpha="@dimen/m3_comp_switch_disabled_track_opacity"
|
||||
android:color="?attr/colorOnSurface"
|
||||
android:state_enabled="false" android:state_checked="true"/>
|
||||
<item android:color="@color/secondaryLightColor" android:state_checked="true"/>
|
||||
<item android:color="?attr/colorSurfaceVariant"/>
|
||||
</selector>
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ AndroidIDE is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/secondaryColor" android:state_activated="true" android:state_focused="true" />
|
||||
<item android:color="@color/primaryLightColor" />
|
||||
</selector>
|
||||
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ AndroidIDE is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Disabled -->
|
||||
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
|
||||
|
||||
<!-- Focused -->
|
||||
<item android:color="?attr/colorAccent" android:state_focused="true"/>
|
||||
|
||||
<!-- Normal -->
|
||||
<item android:color="?attr/colorOnSurfaceVariant"/>
|
||||
</selector>
|
||||
@@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ AndroidIDE is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Disabled -->
|
||||
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface" android:state_enabled="false"/>
|
||||
|
||||
<!-- Focused -->
|
||||
<item android:color="?attr/colorAccent" android:state_focused="true"/>
|
||||
|
||||
<!-- Hovered -->
|
||||
<item android:color="?attr/colorOnSurface" android:state_hovered="true"/>
|
||||
|
||||
<!-- Normal -->
|
||||
<item android:color="?attr/colorOutline"/>
|
||||
</selector>
|
||||
@@ -17,20 +17,20 @@
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
|
||||
<!-- Pressed -->
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke android:width="1dp" android:color="@android:color/white" android:dashWidth="0dp" android:dashGap="0dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<!-- Pressed -->
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke android:width="1dp" android:color="?attr/colorPrimary" android:dashWidth="0dp" android:dashGap="0dp" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<!-- Normal -->
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke android:width="1dp" android:color="@color/primaryLightColor" android:dashWidth="5dp" android:dashGap="5dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<!-- Normal -->
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke android:width="1dp" android:color="?attr/colorOutline" android:dashWidth="5dp" android:dashGap="5dp" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
</selector>
|
||||
@@ -20,7 +20,7 @@
|
||||
<solid android:color="@android:color/transparent"/>
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@color/secondaryColor"
|
||||
android:color="?attr/colorPrimary"
|
||||
android:dashWidth="5dp"
|
||||
android:dashGap="5dp" />
|
||||
</shape>
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="270"
|
||||
android:endColor="@android:color/transparent"
|
||||
android:startColor="@color/primaryDarkColor"
|
||||
android:type="linear" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="270"
|
||||
android:endColor="@android:color/transparent"
|
||||
android:startColor="?attr/colorPrimaryDark"
|
||||
android:type="linear" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<solid android:color="@color/primaryLightColor" />
|
||||
<solid android:color="?attr/colorSecondaryContainer" />
|
||||
<corners android:radius="5dp" />
|
||||
|
||||
</shape>
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ AndroidIDE is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<solid android:color="@color/bg_widget_selected" />
|
||||
|
||||
<corners
|
||||
android:bottomLeftRadius="10dp"
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="10dp"
|
||||
android:topRightRadius="0dp" />
|
||||
|
||||
</shape>
|
||||
@@ -21,7 +21,7 @@
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#ffffff"
|
||||
android:fillColor="@color/primaryIconColor"
|
||||
android:pathData="M12,2A10,10 0,0 0,2 12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0,0 0,12 2Z" />
|
||||
|
||||
</vector>
|
||||
@@ -35,7 +35,7 @@
|
||||
android:pivotY="12">
|
||||
<path
|
||||
android:name="android_path"
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillColor="@color/md_theme_light_onBackground"
|
||||
android:pathData="M 16.622 12.991 C 16.694 13.132 16.768 13.266 16.832 13.405 C 16.886 13.521 16.93 13.641 16.976 13.76 C 17.01 13.849 17.044 13.939 17.07 14.03 C 17.119 14.202 17.176 14.373 17.2 14.552 C 17.215 14.664 17.244 14.774 17.261 14.886 C 17.275 14.978 17.282 15.071 17.293 15.163 C 17.243 15.178 6.875 15.184 6.758 15.169 C 6.836 14.305 7.097 13.505 7.566 12.773 C 8.038 12.037 8.661 11.46 9.428 11.03 C 9.395 10.971 9.366 10.915 9.334 10.86 C 9.22 10.662 9.106 10.464 8.991 10.266 C 8.859 10.038 8.725 9.811 8.595 9.582 C 8.567 9.533 8.544 9.482 8.546 9.421 C 8.549 9.315 8.618 9.261 8.689 9.242 C 8.778 9.218 8.858 9.259 8.903 9.336 C 8.965 9.445 9.031 9.553 9.094 9.661 C 9.267 9.957 9.439 10.254 9.612 10.55 C 9.669 10.649 9.726 10.748 9.787 10.853 C 9.857 10.824 9.926 10.795 9.995 10.767 C 10.25 10.663 10.513 10.58 10.782 10.521 C 10.943 10.486 11.107 10.457 11.271 10.434 C 11.485 10.403 11.699 10.388 11.915 10.39 C 12.106 10.392 12.298 10.391 12.489 10.396 C 12.552 10.398 12.615 10.413 12.678 10.421 C 12.746 10.429 12.814 10.435 12.882 10.446 C 12.967 10.459 13.052 10.473 13.136 10.493 C 13.303 10.532 13.471 10.573 13.637 10.618 C 13.708 10.636 13.776 10.663 13.844 10.688 C 13.985 10.742 14.124 10.797 14.269 10.853 C 14.278 10.843 14.289 10.832 14.297 10.819 C 14.422 10.606 14.546 10.392 14.671 10.179 C 14.773 10.005 14.878 9.833 14.981 9.659 C 15.043 9.552 15.105 9.445 15.166 9.338 C 15.219 9.247 15.317 9.216 15.407 9.261 C 15.498 9.306 15.545 9.416 15.503 9.504 C 15.461 9.593 15.412 9.678 15.363 9.763 C 15.275 9.916 15.186 10.068 15.097 10.22 C 14.988 10.405 14.878 10.59 14.77 10.776 C 14.722 10.859 14.677 10.943 14.628 11.033 C 14.66 11.053 14.691 11.075 14.725 11.093 C 14.909 11.195 15.083 11.313 15.251 11.44 C 15.359 11.521 15.463 11.609 15.563 11.7 C 15.673 11.798 15.778 11.901 15.883 12.005 C 16.022 12.142 16.143 12.295 16.262 12.449 C 16.394 12.62 16.509 12.802 16.622 12.991 Z M 14.434 13.661 C 14.589 13.659 14.714 13.597 14.801 13.471 C 14.845 13.407 14.877 13.335 14.88 13.255 C 14.884 13.138 14.837 13.041 14.761 12.958 C 14.654 12.84 14.516 12.795 14.362 12.824 C 14.255 12.844 14.16 12.904 14.098 12.997 C 14.034 13.09 13.996 13.194 14.025 13.312 C 14.043 13.385 14.073 13.451 14.124 13.509 C 14.204 13.6 14.304 13.647 14.434 13.661 Z M 9.199 13.133 C 9.174 13.19 9.174 13.253 9.189 13.308 C 9.235 13.487 9.337 13.612 9.553 13.654 C 9.773 13.696 10.013 13.522 10.034 13.275 C 10.047 13.115 9.986 12.985 9.851 12.893 C 9.661 12.762 9.416 12.805 9.276 12.985 C 9.245 13.025 9.226 13.076 9.199 13.133 Z"
|
||||
android:strokeColor="#00000000" />
|
||||
</group>
|
||||
@@ -45,7 +45,7 @@
|
||||
android:pivotY="12">
|
||||
<path
|
||||
android:name="lbrace_path"
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillColor="@color/md_theme_light_onBackground"
|
||||
android:pathData="M 5.915 10.326 C 5.921 10.528 5.936 10.724 5.931 10.92 C 5.922 11.313 5.817 11.678 5.58 11.998 C 5.331 12.332 4.995 12.531 4.593 12.625 C 4.571 12.63 4.549 12.635 4.526 12.641 C 4.631 12.674 4.737 12.699 4.836 12.738 C 5.37 12.95 5.705 13.341 5.86 13.89 C 5.936 14.158 5.943 14.431 5.929 14.706 C 5.921 14.88 5.911 15.054 5.9 15.229 C 5.89 15.401 5.876 15.572 5.864 15.744 C 5.857 15.854 5.852 15.964 5.845 16.075 C 5.838 16.215 5.83 16.355 5.822 16.494 C 5.811 16.68 5.806 16.867 5.788 17.052 C 5.774 17.196 5.787 17.336 5.815 17.476 C 5.885 17.823 6.093 18.055 6.413 18.192 C 6.618 18.28 6.835 18.318 7.058 18.321 C 7.305 18.324 7.552 18.327 7.798 18.331 C 7.805 18.331 7.812 18.332 7.823 18.334 C 7.823 18.719 7.823 19.103 7.823 19.494 C 7.803 19.496 7.784 19.499 7.764 19.499 C 7.549 19.499 7.335 19.501 7.12 19.498 C 6.748 19.494 6.382 19.453 6.025 19.343 C 5.707 19.245 5.412 19.1 5.161 18.88 C 4.803 18.568 4.584 18.175 4.5 17.706 C 4.463 17.496 4.458 17.285 4.465 17.074 C 4.474 16.847 4.492 16.62 4.506 16.393 C 4.515 16.241 4.524 16.09 4.534 15.939 C 4.547 15.737 4.562 15.535 4.574 15.334 C 4.585 15.159 4.589 14.984 4.604 14.81 C 4.619 14.628 4.622 14.447 4.611 14.265 C 4.599 14.083 4.563 13.905 4.484 13.739 C 4.393 13.547 4.242 13.424 4.044 13.354 C 3.858 13.289 3.667 13.255 3.471 13.245 C 2.86 13.216 2.248 13.238 1.637 13.231 C 1.612 13.231 1.587 13.231 1.558 13.231 C 1.558 12.843 1.558 12.46 1.558 12.07 C 1.581 12.069 1.605 12.067 1.629 12.067 C 2.155 12.067 2.682 12.07 3.208 12.065 C 3.445 12.063 3.682 12.048 3.912 11.985 C 3.976 11.968 4.039 11.946 4.101 11.921 C 4.311 11.838 4.445 11.683 4.521 11.472 C 4.583 11.299 4.612 11.121 4.616 10.938 C 4.619 10.814 4.617 10.689 4.611 10.564 C 4.601 10.363 4.585 10.161 4.573 9.959 C 4.562 9.785 4.554 9.611 4.542 9.436 C 4.531 9.262 4.518 9.088 4.506 8.914 C 4.499 8.799 4.493 8.684 4.487 8.57 C 4.479 8.4 4.468 8.23 4.465 8.06 C 4.455 7.534 4.59 7.054 4.934 6.645 C 5.147 6.392 5.41 6.206 5.712 6.073 C 6.011 5.942 6.324 5.865 6.649 5.83 C 6.821 5.812 6.992 5.803 7.165 5.804 C 7.361 5.804 7.558 5.804 7.754 5.804 C 7.776 5.804 7.799 5.804 7.824 5.804 C 7.824 6.195 7.824 6.58 7.824 6.969 C 7.802 6.97 7.782 6.972 7.762 6.972 C 7.542 6.972 7.323 6.969 7.104 6.973 C 6.903 6.977 6.705 7.001 6.514 7.068 C 6.319 7.135 6.145 7.235 6.012 7.397 C 5.869 7.57 5.811 7.774 5.788 7.995 C 5.774 8.133 5.79 8.27 5.796 8.408 C 5.804 8.612 5.822 8.815 5.835 9.019 C 5.846 9.194 5.853 9.368 5.864 9.543 C 5.876 9.744 5.89 9.946 5.903 10.148 C 5.907 10.205 5.911 10.262 5.915 10.326 Z"
|
||||
android:strokeColor="#00000000" />
|
||||
</group>
|
||||
@@ -55,7 +55,7 @@
|
||||
android:pivotY="12">
|
||||
<path
|
||||
android:name="rbrace_path"
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillColor="@color/md_theme_light_onBackground"
|
||||
android:pathData="M 16.31 5.804 C 16.529 5.804 16.742 5.802 16.954 5.804 C 17.375 5.808 17.788 5.866 18.186 6.009 C 18.464 6.108 18.723 6.244 18.945 6.439 C 19.294 6.745 19.517 7.125 19.597 7.586 C 19.635 7.803 19.643 8.021 19.632 8.24 C 19.625 8.386 19.614 8.533 19.605 8.68 C 19.591 8.902 19.577 9.125 19.563 9.347 C 19.554 9.492 19.545 9.636 19.536 9.781 C 19.522 10.003 19.508 10.225 19.494 10.448 C 19.487 10.555 19.472 10.663 19.473 10.771 C 19.474 11.031 19.492 11.29 19.601 11.533 C 19.689 11.733 19.839 11.861 20.042 11.935 C 20.203 11.994 20.369 12.026 20.539 12.043 C 20.759 12.065 20.98 12.068 21.201 12.067 C 21.654 12.066 22.106 12.067 22.559 12.067 C 22.58 12.067 22.6 12.067 22.626 12.067 C 22.626 12.453 22.626 12.838 22.626 13.231 C 22.603 13.231 22.578 13.231 22.554 13.231 C 22.136 13.231 21.718 13.231 21.3 13.231 C 21.122 13.231 20.944 13.229 20.767 13.237 C 20.509 13.249 20.254 13.279 20.011 13.375 C 19.79 13.463 19.649 13.623 19.57 13.842 C 19.511 14.003 19.49 14.171 19.478 14.341 C 19.467 14.487 19.481 14.631 19.486 14.775 C 19.492 14.943 19.51 15.11 19.521 15.277 C 19.529 15.392 19.534 15.506 19.541 15.621 C 19.549 15.759 19.557 15.896 19.566 16.034 C 19.576 16.204 19.585 16.374 19.596 16.543 C 19.607 16.713 19.623 16.882 19.632 17.052 C 19.655 17.452 19.611 17.843 19.438 18.21 C 19.353 18.39 19.241 18.554 19.105 18.7 C 18.837 18.989 18.509 19.18 18.138 19.306 C 17.887 19.391 17.629 19.443 17.365 19.472 C 17.166 19.493 16.966 19.498 16.765 19.499 C 16.592 19.499 16.419 19.499 16.246 19.499 C 16.223 19.499 16.201 19.499 16.176 19.499 C 16.176 19.107 16.176 18.722 16.176 18.333 C 16.201 18.332 16.223 18.33 16.246 18.33 C 16.375 18.33 16.504 18.333 16.633 18.33 C 16.815 18.324 16.997 18.324 17.178 18.304 C 17.456 18.274 17.717 18.191 17.937 18.005 C 18.108 17.861 18.204 17.674 18.248 17.458 C 18.279 17.304 18.282 17.148 18.267 16.991 C 18.256 16.882 18.253 16.771 18.247 16.661 C 18.239 16.526 18.231 16.39 18.223 16.255 C 18.213 16.078 18.203 15.901 18.191 15.725 C 18.18 15.56 18.166 15.395 18.155 15.23 C 18.147 15.102 18.141 14.973 18.136 14.844 C 18.131 14.695 18.12 14.545 18.124 14.396 C 18.134 13.965 18.256 13.571 18.539 13.237 C 18.754 12.982 19.022 12.806 19.34 12.707 C 19.414 12.684 19.49 12.666 19.572 12.643 C 19.501 12.624 19.435 12.607 19.369 12.589 C 19.13 12.522 18.915 12.411 18.726 12.251 C 18.426 11.995 18.247 11.667 18.165 11.284 C 18.117 11.061 18.117 10.835 18.124 10.61 C 18.13 10.435 18.143 10.261 18.155 10.087 C 18.166 9.919 18.18 9.752 18.191 9.585 C 18.199 9.47 18.203 9.355 18.21 9.241 C 18.222 9.062 18.235 8.883 18.247 8.705 C 18.254 8.588 18.26 8.47 18.265 8.353 C 18.27 8.252 18.277 8.151 18.274 8.05 C 18.267 7.866 18.226 7.69 18.135 7.528 C 18.035 7.351 17.885 7.228 17.705 7.141 C 17.493 7.039 17.267 6.987 17.032 6.982 C 16.769 6.977 16.506 6.975 16.244 6.972 C 16.223 6.972 16.202 6.972 16.177 6.972 C 16.177 6.584 16.177 6.2 16.177 5.806 C 16.218 5.805 16.26 5.805 16.31 5.804 Z"
|
||||
android:strokeColor="#00000000" />
|
||||
</group>
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ AndroidIDE is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:scaleX="0.7"
|
||||
android:scaleY="0.7"
|
||||
android:pivotX="12"
|
||||
android:pivotY="12">
|
||||
<group
|
||||
android:name="android"
|
||||
android:pivotX="12"
|
||||
android:pivotY="12">
|
||||
<path
|
||||
android:name="android_path"
|
||||
android:fillColor="@color/md_theme_dark_onBackground"
|
||||
android:pathData="M 16.622 12.991 C 16.694 13.132 16.768 13.266 16.832 13.405 C 16.886 13.521 16.93 13.641 16.976 13.76 C 17.01 13.849 17.044 13.939 17.07 14.03 C 17.119 14.202 17.176 14.373 17.2 14.552 C 17.215 14.664 17.244 14.774 17.261 14.886 C 17.275 14.978 17.282 15.071 17.293 15.163 C 17.243 15.178 6.875 15.184 6.758 15.169 C 6.836 14.305 7.097 13.505 7.566 12.773 C 8.038 12.037 8.661 11.46 9.428 11.03 C 9.395 10.971 9.366 10.915 9.334 10.86 C 9.22 10.662 9.106 10.464 8.991 10.266 C 8.859 10.038 8.725 9.811 8.595 9.582 C 8.567 9.533 8.544 9.482 8.546 9.421 C 8.549 9.315 8.618 9.261 8.689 9.242 C 8.778 9.218 8.858 9.259 8.903 9.336 C 8.965 9.445 9.031 9.553 9.094 9.661 C 9.267 9.957 9.439 10.254 9.612 10.55 C 9.669 10.649 9.726 10.748 9.787 10.853 C 9.857 10.824 9.926 10.795 9.995 10.767 C 10.25 10.663 10.513 10.58 10.782 10.521 C 10.943 10.486 11.107 10.457 11.271 10.434 C 11.485 10.403 11.699 10.388 11.915 10.39 C 12.106 10.392 12.298 10.391 12.489 10.396 C 12.552 10.398 12.615 10.413 12.678 10.421 C 12.746 10.429 12.814 10.435 12.882 10.446 C 12.967 10.459 13.052 10.473 13.136 10.493 C 13.303 10.532 13.471 10.573 13.637 10.618 C 13.708 10.636 13.776 10.663 13.844 10.688 C 13.985 10.742 14.124 10.797 14.269 10.853 C 14.278 10.843 14.289 10.832 14.297 10.819 C 14.422 10.606 14.546 10.392 14.671 10.179 C 14.773 10.005 14.878 9.833 14.981 9.659 C 15.043 9.552 15.105 9.445 15.166 9.338 C 15.219 9.247 15.317 9.216 15.407 9.261 C 15.498 9.306 15.545 9.416 15.503 9.504 C 15.461 9.593 15.412 9.678 15.363 9.763 C 15.275 9.916 15.186 10.068 15.097 10.22 C 14.988 10.405 14.878 10.59 14.77 10.776 C 14.722 10.859 14.677 10.943 14.628 11.033 C 14.66 11.053 14.691 11.075 14.725 11.093 C 14.909 11.195 15.083 11.313 15.251 11.44 C 15.359 11.521 15.463 11.609 15.563 11.7 C 15.673 11.798 15.778 11.901 15.883 12.005 C 16.022 12.142 16.143 12.295 16.262 12.449 C 16.394 12.62 16.509 12.802 16.622 12.991 Z M 14.434 13.661 C 14.589 13.659 14.714 13.597 14.801 13.471 C 14.845 13.407 14.877 13.335 14.88 13.255 C 14.884 13.138 14.837 13.041 14.761 12.958 C 14.654 12.84 14.516 12.795 14.362 12.824 C 14.255 12.844 14.16 12.904 14.098 12.997 C 14.034 13.09 13.996 13.194 14.025 13.312 C 14.043 13.385 14.073 13.451 14.124 13.509 C 14.204 13.6 14.304 13.647 14.434 13.661 Z M 9.199 13.133 C 9.174 13.19 9.174 13.253 9.189 13.308 C 9.235 13.487 9.337 13.612 9.553 13.654 C 9.773 13.696 10.013 13.522 10.034 13.275 C 10.047 13.115 9.986 12.985 9.851 12.893 C 9.661 12.762 9.416 12.805 9.276 12.985 C 9.245 13.025 9.226 13.076 9.199 13.133 Z"
|
||||
android:strokeColor="#00000000" />
|
||||
</group>
|
||||
<group
|
||||
android:name="lbrace"
|
||||
android:pivotX="12"
|
||||
android:pivotY="12">
|
||||
<path
|
||||
android:name="lbrace_path"
|
||||
android:fillColor="@color/md_theme_dark_onBackground"
|
||||
android:pathData="M 5.915 10.326 C 5.921 10.528 5.936 10.724 5.931 10.92 C 5.922 11.313 5.817 11.678 5.58 11.998 C 5.331 12.332 4.995 12.531 4.593 12.625 C 4.571 12.63 4.549 12.635 4.526 12.641 C 4.631 12.674 4.737 12.699 4.836 12.738 C 5.37 12.95 5.705 13.341 5.86 13.89 C 5.936 14.158 5.943 14.431 5.929 14.706 C 5.921 14.88 5.911 15.054 5.9 15.229 C 5.89 15.401 5.876 15.572 5.864 15.744 C 5.857 15.854 5.852 15.964 5.845 16.075 C 5.838 16.215 5.83 16.355 5.822 16.494 C 5.811 16.68 5.806 16.867 5.788 17.052 C 5.774 17.196 5.787 17.336 5.815 17.476 C 5.885 17.823 6.093 18.055 6.413 18.192 C 6.618 18.28 6.835 18.318 7.058 18.321 C 7.305 18.324 7.552 18.327 7.798 18.331 C 7.805 18.331 7.812 18.332 7.823 18.334 C 7.823 18.719 7.823 19.103 7.823 19.494 C 7.803 19.496 7.784 19.499 7.764 19.499 C 7.549 19.499 7.335 19.501 7.12 19.498 C 6.748 19.494 6.382 19.453 6.025 19.343 C 5.707 19.245 5.412 19.1 5.161 18.88 C 4.803 18.568 4.584 18.175 4.5 17.706 C 4.463 17.496 4.458 17.285 4.465 17.074 C 4.474 16.847 4.492 16.62 4.506 16.393 C 4.515 16.241 4.524 16.09 4.534 15.939 C 4.547 15.737 4.562 15.535 4.574 15.334 C 4.585 15.159 4.589 14.984 4.604 14.81 C 4.619 14.628 4.622 14.447 4.611 14.265 C 4.599 14.083 4.563 13.905 4.484 13.739 C 4.393 13.547 4.242 13.424 4.044 13.354 C 3.858 13.289 3.667 13.255 3.471 13.245 C 2.86 13.216 2.248 13.238 1.637 13.231 C 1.612 13.231 1.587 13.231 1.558 13.231 C 1.558 12.843 1.558 12.46 1.558 12.07 C 1.581 12.069 1.605 12.067 1.629 12.067 C 2.155 12.067 2.682 12.07 3.208 12.065 C 3.445 12.063 3.682 12.048 3.912 11.985 C 3.976 11.968 4.039 11.946 4.101 11.921 C 4.311 11.838 4.445 11.683 4.521 11.472 C 4.583 11.299 4.612 11.121 4.616 10.938 C 4.619 10.814 4.617 10.689 4.611 10.564 C 4.601 10.363 4.585 10.161 4.573 9.959 C 4.562 9.785 4.554 9.611 4.542 9.436 C 4.531 9.262 4.518 9.088 4.506 8.914 C 4.499 8.799 4.493 8.684 4.487 8.57 C 4.479 8.4 4.468 8.23 4.465 8.06 C 4.455 7.534 4.59 7.054 4.934 6.645 C 5.147 6.392 5.41 6.206 5.712 6.073 C 6.011 5.942 6.324 5.865 6.649 5.83 C 6.821 5.812 6.992 5.803 7.165 5.804 C 7.361 5.804 7.558 5.804 7.754 5.804 C 7.776 5.804 7.799 5.804 7.824 5.804 C 7.824 6.195 7.824 6.58 7.824 6.969 C 7.802 6.97 7.782 6.972 7.762 6.972 C 7.542 6.972 7.323 6.969 7.104 6.973 C 6.903 6.977 6.705 7.001 6.514 7.068 C 6.319 7.135 6.145 7.235 6.012 7.397 C 5.869 7.57 5.811 7.774 5.788 7.995 C 5.774 8.133 5.79 8.27 5.796 8.408 C 5.804 8.612 5.822 8.815 5.835 9.019 C 5.846 9.194 5.853 9.368 5.864 9.543 C 5.876 9.744 5.89 9.946 5.903 10.148 C 5.907 10.205 5.911 10.262 5.915 10.326 Z"
|
||||
android:strokeColor="#00000000" />
|
||||
</group>
|
||||
<group
|
||||
android:name="rbrace"
|
||||
android:pivotX="12"
|
||||
android:pivotY="12">
|
||||
<path
|
||||
android:name="rbrace_path"
|
||||
android:fillColor="@color/md_theme_dark_onBackground"
|
||||
android:pathData="M 16.31 5.804 C 16.529 5.804 16.742 5.802 16.954 5.804 C 17.375 5.808 17.788 5.866 18.186 6.009 C 18.464 6.108 18.723 6.244 18.945 6.439 C 19.294 6.745 19.517 7.125 19.597 7.586 C 19.635 7.803 19.643 8.021 19.632 8.24 C 19.625 8.386 19.614 8.533 19.605 8.68 C 19.591 8.902 19.577 9.125 19.563 9.347 C 19.554 9.492 19.545 9.636 19.536 9.781 C 19.522 10.003 19.508 10.225 19.494 10.448 C 19.487 10.555 19.472 10.663 19.473 10.771 C 19.474 11.031 19.492 11.29 19.601 11.533 C 19.689 11.733 19.839 11.861 20.042 11.935 C 20.203 11.994 20.369 12.026 20.539 12.043 C 20.759 12.065 20.98 12.068 21.201 12.067 C 21.654 12.066 22.106 12.067 22.559 12.067 C 22.58 12.067 22.6 12.067 22.626 12.067 C 22.626 12.453 22.626 12.838 22.626 13.231 C 22.603 13.231 22.578 13.231 22.554 13.231 C 22.136 13.231 21.718 13.231 21.3 13.231 C 21.122 13.231 20.944 13.229 20.767 13.237 C 20.509 13.249 20.254 13.279 20.011 13.375 C 19.79 13.463 19.649 13.623 19.57 13.842 C 19.511 14.003 19.49 14.171 19.478 14.341 C 19.467 14.487 19.481 14.631 19.486 14.775 C 19.492 14.943 19.51 15.11 19.521 15.277 C 19.529 15.392 19.534 15.506 19.541 15.621 C 19.549 15.759 19.557 15.896 19.566 16.034 C 19.576 16.204 19.585 16.374 19.596 16.543 C 19.607 16.713 19.623 16.882 19.632 17.052 C 19.655 17.452 19.611 17.843 19.438 18.21 C 19.353 18.39 19.241 18.554 19.105 18.7 C 18.837 18.989 18.509 19.18 18.138 19.306 C 17.887 19.391 17.629 19.443 17.365 19.472 C 17.166 19.493 16.966 19.498 16.765 19.499 C 16.592 19.499 16.419 19.499 16.246 19.499 C 16.223 19.499 16.201 19.499 16.176 19.499 C 16.176 19.107 16.176 18.722 16.176 18.333 C 16.201 18.332 16.223 18.33 16.246 18.33 C 16.375 18.33 16.504 18.333 16.633 18.33 C 16.815 18.324 16.997 18.324 17.178 18.304 C 17.456 18.274 17.717 18.191 17.937 18.005 C 18.108 17.861 18.204 17.674 18.248 17.458 C 18.279 17.304 18.282 17.148 18.267 16.991 C 18.256 16.882 18.253 16.771 18.247 16.661 C 18.239 16.526 18.231 16.39 18.223 16.255 C 18.213 16.078 18.203 15.901 18.191 15.725 C 18.18 15.56 18.166 15.395 18.155 15.23 C 18.147 15.102 18.141 14.973 18.136 14.844 C 18.131 14.695 18.12 14.545 18.124 14.396 C 18.134 13.965 18.256 13.571 18.539 13.237 C 18.754 12.982 19.022 12.806 19.34 12.707 C 19.414 12.684 19.49 12.666 19.572 12.643 C 19.501 12.624 19.435 12.607 19.369 12.589 C 19.13 12.522 18.915 12.411 18.726 12.251 C 18.426 11.995 18.247 11.667 18.165 11.284 C 18.117 11.061 18.117 10.835 18.124 10.61 C 18.13 10.435 18.143 10.261 18.155 10.087 C 18.166 9.919 18.18 9.752 18.191 9.585 C 18.199 9.47 18.203 9.355 18.21 9.241 C 18.222 9.062 18.235 8.883 18.247 8.705 C 18.254 8.588 18.26 8.47 18.265 8.353 C 18.27 8.252 18.277 8.151 18.274 8.05 C 18.267 7.866 18.226 7.69 18.135 7.528 C 18.035 7.351 17.885 7.228 17.705 7.141 C 17.493 7.039 17.267 6.987 17.032 6.982 C 16.769 6.977 16.506 6.975 16.244 6.972 C 16.223 6.972 16.202 6.972 16.177 6.972 C 16.177 6.584 16.177 6.2 16.177 5.806 C 16.218 5.805 16.26 5.805 16.31 5.804 Z"
|
||||
android:strokeColor="#00000000" />
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="android">
|
||||
<aapt:attr name="android:animation">
|
||||
<set>
|
||||
<objectAnimator
|
||||
android:duration="400"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="scaleX"
|
||||
android:startOffset="100"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.7"
|
||||
android:valueType="floatType" />
|
||||
<objectAnimator
|
||||
android:duration="352"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="scaleY"
|
||||
android:startOffset="148"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.7"
|
||||
android:valueType="floatType" />
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="lbrace">
|
||||
<aapt:attr name="android:animation">
|
||||
<set>
|
||||
<objectAnimator
|
||||
android:duration="454"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="scaleY"
|
||||
android:startOffset="46"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.7"
|
||||
android:valueType="floatType" />
|
||||
<objectAnimator
|
||||
android:duration="500"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="scaleX"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.7"
|
||||
android:valueType="floatType" />
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="rbrace">
|
||||
<aapt:attr name="android:animation">
|
||||
<set>
|
||||
<objectAnimator
|
||||
android:duration="454"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="scaleY"
|
||||
android:startOffset="46"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.7"
|
||||
android:valueType="floatType" />
|
||||
<objectAnimator
|
||||
android:duration="500"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="scaleX"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.7"
|
||||
android:valueType="floatType" />
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -5,7 +5,7 @@
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#ffffff"
|
||||
android:fillColor="@color/primaryIconColor"
|
||||
android:pathData="M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12S8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8C19.66,8 21,6.66 21,5S19.66,2 18,2 15,3.34 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9C4.34,9 3,10.34 3,12S4.34,15 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91S20.92,20.61 20.92,19C20.92,17.39 19.61,16.08 18,16.08M18,4C18.55,4 19,4.45 19,5S18.55,6 18,6 17,5.55 17,5 17.45,4 18,4M6,13C5.45,13 5,12.55 5,12S5.45,11 6,11 7,11.45 7,12 6.55,13 6,13M18,20C17.45,20 17,19.55 17,19S17.45,18 18,18 19,18.45 19,19 18.55,20 18,20Z" />
|
||||
|
||||
</vector>
|
||||
|
||||
@@ -17,5 +17,5 @@
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<size android:width="1.5dp" />
|
||||
<solid android:color="?attr/colorAccent" />
|
||||
<solid android:color="?attr/colorPrimary" />
|
||||
</shape>
|
||||
@@ -20,5 +20,4 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
app:trackTint="@color/material_switch_track_tint" />
|
||||
android:focusable="false"/>
|
||||
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
<resources><!--
|
||||
~ This file is part of AndroidIDE.
|
||||
~
|
||||
~ AndroidIDE is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ AndroidIDE is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<style name="Theme.AndroidIDE.Material" parent="Theme.Material3.Dark.NoActionBar">
|
||||
<item name="colorPrimary">@color/md_theme_dark_primary</item>
|
||||
<item name="colorPrimaryDark">@color/md_theme_dark_background</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer</item>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_dark_onPrimaryContainer</item>
|
||||
<item name="colorSecondary">@color/md_theme_dark_secondary</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_dark_onSecondary</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer</item>
|
||||
<item name="colorTertiary">@color/md_theme_dark_tertiary</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_dark_onTertiary</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer</item>
|
||||
<item name="colorError">@color/md_theme_dark_error</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_dark_errorContainer</item>
|
||||
<item name="colorOnError">@color/md_theme_dark_onError</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_dark_onErrorContainer</item>
|
||||
<item name="android:colorBackground">@color/md_theme_dark_background</item>
|
||||
<item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
|
||||
<item name="colorSurface">@color/md_theme_dark_surface</item>
|
||||
<item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
|
||||
<item name="colorOutline">@color/md_theme_dark_outline</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.AndroidIDE" parent="Theme.AndroidIDE.Styled">
|
||||
<item name="android:navigationBarColor">?attr/colorPrimaryContainer</item>
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Splash" parent="Theme.SplashScreen">
|
||||
<item name="windowSplashScreenBackground">@color/md_theme_dark_background</item>
|
||||
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_animated_dark</item>
|
||||
<item name="windowSplashScreenAnimationDuration">200</item>
|
||||
<item name="postSplashScreenTheme">@style/Theme.AndroidIDE</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -1,35 +1,89 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="primaryColor">#121212</color>
|
||||
<color name="primaryColor_translucent">#90121212</color>
|
||||
<color name="primaryLightColor">#373737</color>
|
||||
<color name="primaryDarkColor">#010101</color>
|
||||
<color name="secondaryColor">#ff5252</color>
|
||||
<color name="secondaryLightColor">#ff867f</color>
|
||||
<color name="secondaryLightColor_transparent">#1FFF867F</color>
|
||||
<color name="secondaryIconColor">@color/secondaryColor</color>
|
||||
<color name="secondaryDarkColor">#c50e29</color>
|
||||
<color name="primaryTextColor">#ffffff</color>
|
||||
<color name="primaryTextColorLight">#bdbdbd</color>
|
||||
<color name="secondaryTextColor">#70ffffff</color>
|
||||
<color name="secondaryTextColor_light">#50ffffff</color>
|
||||
<color name="primaryIconColor">#ffffff</color>
|
||||
<color name="surfaceColor">#323232</color>
|
||||
<color name="completionList_background">#373737</color>
|
||||
<color name="completionList_backgroundSelected">#505050</color>
|
||||
<color name="symbolInput_background">#000000</color>
|
||||
<color name="symbolInput_text">@color/primaryTextColor</color>
|
||||
<color name="tabAction_background">#ffffff</color>
|
||||
<color name="tabAction_text">@color/primaryLightColor</color>
|
||||
<color name="tabAction_icon">#000000</color>
|
||||
<color name="rippleHighlightColor">#85121212</color>
|
||||
<color name="log_warning">#FF7043</color>
|
||||
<color name="diagnostic_error">@color/secondaryDarkColor</color>
|
||||
<color name="diagnostic_warning">@color/log_warning</color>
|
||||
<color name="content_background">#212121</color>
|
||||
<color name="bg_widget_selected">#212121</color>
|
||||
<color name="green_500">#4caf50</color>
|
||||
|
||||
<color name="color_toast_background">#90424242</color>
|
||||
<color name="color_picker_default_color">#f44336</color>
|
||||
<color name="seed">#ff5252</color>
|
||||
<color name="md_theme_light_primary">#B81D27</color>
|
||||
<color name="md_theme_light_onPrimary">#FFFFFF</color>
|
||||
<color name="md_theme_light_primaryContainer">#FFDAD7</color>
|
||||
<color name="md_theme_light_onPrimaryContainer">#410004</color>
|
||||
<color name="md_theme_light_secondary">#775654</color>
|
||||
<color name="md_theme_light_onSecondary">#FFFFFF</color>
|
||||
<color name="md_theme_light_secondaryContainer">#FFDAD7</color>
|
||||
<color name="md_theme_light_onSecondaryContainer">#2C1514</color>
|
||||
<color name="md_theme_light_tertiary">#735B2E</color>
|
||||
<color name="md_theme_light_onTertiary">#FFFFFF</color>
|
||||
<color name="md_theme_light_tertiaryContainer">#FFDEA7</color>
|
||||
<color name="md_theme_light_onTertiaryContainer">#271900</color>
|
||||
<color name="md_theme_light_error">#BA1A1A</color>
|
||||
<color name="md_theme_light_errorContainer">#FFDAD6</color>
|
||||
<color name="md_theme_light_onError">#FFFFFF</color>
|
||||
<color name="md_theme_light_onErrorContainer">#410002</color>
|
||||
<color name="md_theme_light_background">#FFFBFF</color>
|
||||
<color name="md_theme_light_onBackground">#201A1A</color>
|
||||
<color name="md_theme_light_surface">#FFFBFF</color>
|
||||
<color name="md_theme_light_onSurface">#201A1A</color>
|
||||
<color name="md_theme_light_surfaceVariant">#F5DDDB</color>
|
||||
<color name="md_theme_light_onSurfaceVariant">#534342</color>
|
||||
<color name="md_theme_light_outline">#857371</color>
|
||||
<color name="md_theme_light_inverseOnSurface">#FBEEEC</color>
|
||||
<color name="md_theme_light_inverseSurface">#362F2E</color>
|
||||
<color name="md_theme_light_inversePrimary">#FFB3AE</color>
|
||||
<color name="md_theme_light_shadow">#000000</color>
|
||||
<color name="md_theme_light_surfaceTint">#B81D27</color>
|
||||
<color name="md_theme_light_outlineVariant">#D8C2C0</color>
|
||||
<color name="md_theme_light_scrim">#000000</color>
|
||||
<color name="md_theme_dark_primary">#FFB3AE</color>
|
||||
<color name="md_theme_dark_onPrimary">#68000C</color>
|
||||
<color name="md_theme_dark_primaryContainer">#930015</color>
|
||||
<color name="md_theme_dark_onPrimaryContainer">#FFDAD7</color>
|
||||
<color name="md_theme_dark_secondary">#E7BDB9</color>
|
||||
<color name="md_theme_dark_onSecondary">#442928</color>
|
||||
<color name="md_theme_dark_secondaryContainer">#5D3F3D</color>
|
||||
<color name="md_theme_dark_onSecondaryContainer">#FFDAD7</color>
|
||||
<color name="md_theme_dark_tertiary">#E2C28C</color>
|
||||
<color name="md_theme_dark_onTertiary">#402D04</color>
|
||||
<color name="md_theme_dark_tertiaryContainer">#594319</color>
|
||||
<color name="md_theme_dark_onTertiaryContainer">#FFDEA7</color>
|
||||
<color name="md_theme_dark_error">#FFB4AB</color>
|
||||
<color name="md_theme_dark_errorContainer">#93000A</color>
|
||||
<color name="md_theme_dark_onError">#690005</color>
|
||||
<color name="md_theme_dark_onErrorContainer">#FFDAD6</color>
|
||||
<color name="md_theme_dark_background">#201A1A</color>
|
||||
<color name="md_theme_dark_onBackground">#EDE0DE</color>
|
||||
<color name="md_theme_dark_surface">#201A1A</color>
|
||||
<color name="md_theme_dark_onSurface">#EDE0DE</color>
|
||||
<color name="md_theme_dark_surfaceVariant">#534342</color>
|
||||
<color name="md_theme_dark_onSurfaceVariant">#D8C2C0</color>
|
||||
<color name="md_theme_dark_outline">#A08C8B</color>
|
||||
<color name="md_theme_dark_inverseOnSurface">#201A1A</color>
|
||||
<color name="md_theme_dark_inverseSurface">#EDE0DE</color>
|
||||
<color name="md_theme_dark_inversePrimary">#B81D27</color>
|
||||
<color name="md_theme_dark_shadow">#000000</color>
|
||||
<color name="md_theme_dark_surfaceTint">#FFB3AE</color>
|
||||
<color name="md_theme_dark_outlineVariant">#534342</color>
|
||||
<color name="md_theme_dark_scrim">#000000</color>
|
||||
|
||||
<color name="primaryColor">#121212</color>
|
||||
<color name="primaryTextColor">#ffffff</color>
|
||||
<color name="primaryIconColor">#ffffff</color>
|
||||
<color name="completionList_background">?attr/colorPrimaryContainer</color>
|
||||
<color name="completionList_backgroundSelected">?attr/colorPrimaryVariant</color>
|
||||
<color name="rippleHighlightColor">#85121212</color>
|
||||
|
||||
<color name="log_warning">#FF7043</color>
|
||||
|
||||
<color name="diagnostic_error">#f44336</color>
|
||||
<color name="diagnostic_warning">@color/log_warning</color>
|
||||
|
||||
<color name="content_background">#212121</color>
|
||||
|
||||
<color name="green_500">#4caf50</color>
|
||||
|
||||
<color name="tabAction_background">?attr/colorPrimaryContainer</color>
|
||||
<color name="tabAction_text">?attr/colorOnPrimaryContainer</color>
|
||||
<color name="tabAction_icon">?attr/colorPrimary</color>
|
||||
|
||||
<color name="color_toast_background">#90424242</color>
|
||||
<color name="color_picker_default_color">#f44336</color>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -15,97 +15,77 @@
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<style name="Theme.AndroidIDE.Base" parent="Theme.Material3.Dark.NoActionBar">
|
||||
<style name="Theme.AndroidIDE.Material" parent="Theme.Material3.Light.NoActionBar">
|
||||
<item name="colorPrimary">@color/md_theme_light_primary</item>
|
||||
<item name="colorPrimaryDark">@color/md_theme_light_background</item>
|
||||
<item name="colorOnPrimary">@color/md_theme_light_onPrimary</item>
|
||||
<item name="colorPrimaryContainer">@color/md_theme_light_primaryContainer</item>
|
||||
<item name="colorOnPrimaryContainer">@color/md_theme_light_onPrimaryContainer</item>
|
||||
<item name="colorSecondary">@color/md_theme_light_secondary</item>
|
||||
<item name="colorOnSecondary">@color/md_theme_light_onSecondary</item>
|
||||
<item name="colorSecondaryContainer">@color/md_theme_light_secondaryContainer</item>
|
||||
<item name="colorOnSecondaryContainer">@color/md_theme_light_onSecondaryContainer</item>
|
||||
<item name="colorTertiary">@color/md_theme_light_tertiary</item>
|
||||
<item name="colorOnTertiary">@color/md_theme_light_onTertiary</item>
|
||||
<item name="colorTertiaryContainer">@color/md_theme_light_tertiaryContainer</item>
|
||||
<item name="colorOnTertiaryContainer">@color/md_theme_light_onTertiaryContainer</item>
|
||||
<item name="colorError">@color/md_theme_light_error</item>
|
||||
<item name="colorErrorContainer">@color/md_theme_light_errorContainer</item>
|
||||
<item name="colorOnError">@color/md_theme_light_onError</item>
|
||||
<item name="colorOnErrorContainer">@color/md_theme_light_onErrorContainer</item>
|
||||
<item name="android:colorBackground">@color/md_theme_light_background</item>
|
||||
<item name="colorOnBackground">@color/md_theme_light_onBackground</item>
|
||||
<item name="colorSurface">@color/md_theme_light_surface</item>
|
||||
<item name="colorOnSurface">@color/md_theme_light_onSurface</item>
|
||||
<item name="colorSurfaceVariant">@color/md_theme_light_surfaceVariant</item>
|
||||
<item name="colorOnSurfaceVariant">@color/md_theme_light_onSurfaceVariant</item>
|
||||
<item name="colorOutline">@color/md_theme_light_outline</item>
|
||||
<item name="colorOnSurfaceInverse">@color/md_theme_light_inverseOnSurface</item>
|
||||
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface</item>
|
||||
<item name="colorPrimaryInverse">@color/md_theme_light_inversePrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.AndroidIDE.Base" parent="Theme.AndroidIDE.Material">
|
||||
<!-- Colors -->
|
||||
<item name="colorPrimary">@color/primaryColor</item>
|
||||
<item name="colorPrimaryDark">@color/primaryDarkColor</item>
|
||||
<item name="colorOnPrimary">@color/secondaryDarkColor</item>
|
||||
<item name="colorPrimaryContainer">@color/secondaryColor</item>
|
||||
<item name="colorAccent">@color/secondaryColor</item>
|
||||
<item name="colorSurface">@color/surfaceColor</item>
|
||||
<item name="colorButtonNormal">@color/secondaryColor</item>
|
||||
<item name="colorControlNormal">@color/secondaryColor</item>
|
||||
<item name="colorControlHighlight">@color/rippleHighlightColor</item>
|
||||
<item name="hintTextColor">@color/secondaryColor</item>
|
||||
<item name="android:textColorLink">@color/secondaryColor</item>
|
||||
<item name="android:colorButtonNormal">@color/secondaryColor</item>
|
||||
<item name="android:textColorSecondary">@color/secondaryTextColor</item>
|
||||
<item name="android:textCursorDrawable">@drawable/textfield_cursor</item>
|
||||
|
||||
<!-- Font -->
|
||||
<item name="fontFamily">@font/josefin_sans</item>
|
||||
<item name="android:fontFamily">@font/josefin_sans</item>
|
||||
|
||||
<!-- Window configuration -->
|
||||
<item name="android:windowBackground">@color/content_background</item>
|
||||
<item name="windowActionModeOverlay">true</item>
|
||||
<item name="windowActionBarOverlay">true</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.AndroidIDE.Styled" parent="Theme.AndroidIDE.Base">
|
||||
<item name="checkboxStyle">@style/AppTheme.CheckBox</item>
|
||||
<item name="actionOverflowButtonStyle">@style/AppTheme.Toolbar.OverflowButton</item>
|
||||
<item name="chipStyle">@style/AppTheme.UIDesigner.WidgetGroupChip</item>
|
||||
<item name="switchPreferenceStyle">@style/AppTheme.SwitchPreference</item>
|
||||
<item name="shapeAppearanceLargeComponent">@style/AppTheme.ShapeOverlay.Large</item>
|
||||
<item name="textAppearanceBodySmall">@style/TextAppearance.AndroidIDE.BodySmall</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.AndroidIDE" parent="Theme.AndroidIDE.Styled" />
|
||||
<style name="Theme.AndroidIDE" parent="Theme.AndroidIDE.Styled">
|
||||
<item name="android:navigationBarColor">?attr/colorPrimaryContainer</item>
|
||||
<item name="android:windowLightStatusBar">true</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.AndroidIDE.BodySmall" parent="TextAppearance.Material3.BodySmall">
|
||||
<item name="android:textColor">@color/material_on_background_disabled</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Splash" parent="Theme.SplashScreen">
|
||||
<item name="windowSplashScreenBackground">@color/primaryColor</item>
|
||||
<item name="windowSplashScreenBackground">@color/md_theme_light_background</item>
|
||||
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_animated</item>
|
||||
<item name="windowSplashScreenAnimationDuration">200</item>
|
||||
<item name="postSplashScreenTheme">@style/Theme.AndroidIDE</item>
|
||||
<item name="android:statusBarColor">@color/primaryColor</item>
|
||||
<item name="android:navigationBarColor">@color/primaryColor</item>
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.SwitchPreference" parent="Preference.SwitchPreference.Material">
|
||||
<item name="android:widgetLayout">@layout/preference_widget_materialswitch</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.CheckBox" parent="Widget.Material3.CompoundButton.CheckBox">
|
||||
<item name="buttonTint">@color/secondaryColor</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Button" parent="Widget.Material3.Button">
|
||||
<item name="backgroundTint">@color/bg_button</item>
|
||||
<item name="rippleColor">@color/secondaryLightColor_transparent</item>
|
||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Button</item>
|
||||
<item name="android:textColor">@color/primaryTextColor</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.ProgressIndicator" parent="Widget.Material3.LinearProgressIndicator">
|
||||
<item name="indicatorColor">@color/secondaryColor</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.UIDesigner.WidgetGroupChip" parent="Widget.Material3.Chip.Filter">
|
||||
<item name="chipIconTint">@color/primaryIconColor</item>
|
||||
<item name="chipBackgroundColor">@color/primaryColor</item>
|
||||
<item name="chipStrokeColor">@color/secondaryColor</item>
|
||||
<item name="chipStrokeWidth">1dp</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Toolbar.OverflowButton" parent="@style/Widget.AppCompat.ActionButton.Overflow">
|
||||
<item name="android:tint">@color/secondaryColor</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.MaterialToggleButton" parent="">
|
||||
<item name="colorPrimary">@color/secondaryColor</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.TabLayout" parent="Widget.Material3.TabLayout">
|
||||
<item name="tabIndicatorAnimationMode">elastic</item>
|
||||
<item name="tabIndicatorColor">@color/secondaryColor</item>
|
||||
<item name="tabIndicatorFullWidth">false</item>
|
||||
<item name="tabIndicatorGravity">bottom</item>
|
||||
<item name="tabIndicatorHeight">3dp</item>
|
||||
<item name="tabMode">scrollable</item>
|
||||
<item name="tabSelectedTextColor">@color/secondaryColor</item>
|
||||
<item name="tabTextAppearance">@style/AppTheme.TabLayout.Title</item>
|
||||
<item name="tabTextColor">@color/secondaryTextColor_light</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.TabLayout.Title" parent="TextAppearance.Design.Tab">
|
||||
@@ -113,13 +93,6 @@
|
||||
<item name="android:textAllCaps">false</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.TextInputLayout" parent="">
|
||||
<item name="colorPrimary">@color/secondaryColor</item>
|
||||
<item name="boxStrokeColor">@color/textfield_stroke_color</item>
|
||||
<item name="android:textColorHint">@color/textfield_label_color</item>
|
||||
<item name="hintTextColor">@color/textfield_label_color</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.ShapeOverlay.Large" parent="">
|
||||
<item name="cornerFamily">rounded</item>
|
||||
<item name="cornerSizeTopRight">16dp</item>
|
||||
@@ -133,19 +106,9 @@
|
||||
<item name="cornerSize">25dp</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.BottomSheetDialog" parent="Theme.Material3.Dark.BottomSheetDialog">
|
||||
<item name="android:windowIsFloating">false</item>
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
</style>
|
||||
|
||||
<!-- Alert Dialog -->
|
||||
<style name="AppTheme.MaterialAlertDialog" parent="@style/ThemeOverlay.Material3.MaterialAlertDialog">
|
||||
<item name="shapeAppearanceOverlay">@style/MaterialDialog.ShapeAppearance</item>
|
||||
<item name="materialAlertDialogTitleTextStyle">@style/MaterialDialog.Title.Text</item>
|
||||
<item name="materialAlertDialogBodyTextStyle">@style/MaterialDialog.Body.Text</item>
|
||||
<item name="buttonBarPositiveButtonStyle">@style/MaterialAlertDialog.PositiveButtonStyle</item>
|
||||
<item name="buttonBarNegativeButtonStyle">@style/MaterialAlertDialog.NegativeButtonStyle</item>
|
||||
<item name="buttonBarNeutralButtonStyle">@style/MaterialAlertDialog.NeutralButtonStyle</item>
|
||||
<item name="android:windowEnterAnimation">@animator/dialog_in</item>
|
||||
<item name="android:windowExitAnimation">@animator/dialog_out</item>
|
||||
</style>
|
||||
@@ -154,35 +117,6 @@
|
||||
<item name="cornerSize">28dp</item>
|
||||
</style>
|
||||
|
||||
<style name="MaterialDialog.Title.Text" parent="@style/MaterialAlertDialog.Material3.Title.Text">
|
||||
<item name="android:textColor">@color/primaryTextColor</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="fontFamily">@font/josefin_sans</item>
|
||||
</style>
|
||||
|
||||
<style name="MaterialDialog.Body.Text" parent="@style/MaterialAlertDialog.Material3.Body.Text">
|
||||
<item name="android:textColor">@color/primaryTextColor</item>
|
||||
<item name="fontFamily">@font/josefin_sans</item>
|
||||
</style>
|
||||
|
||||
<style name="MaterialAlertDialog.PositiveButtonStyle" parent="@style/Widget.Material3.Button.TextButton.Dialog">
|
||||
<item name="android:textColor">@color/secondaryColor</item>
|
||||
<item name="backgroundTint">@android:color/transparent</item>
|
||||
<item name="fontFamily">@font/josefin_sans</item>
|
||||
</style>
|
||||
|
||||
<style name="MaterialAlertDialog.NegativeButtonStyle" parent="@style/Widget.Material3.Button.TextButton.Dialog">
|
||||
<item name="android:textColor">@color/secondaryColor</item>
|
||||
<item name="backgroundTint">@android:color/transparent</item>
|
||||
<item name="fontFamily">@font/josefin_sans</item>
|
||||
</style>
|
||||
|
||||
<style name="MaterialAlertDialog.NeutralButtonStyle" parent="@style/Widget.Material3.Button.TextButton.Dialog">
|
||||
<item name="android:textColor">@color/secondaryColor</item>
|
||||
<item name="backgroundTint">@android:color/transparent</item>
|
||||
<item name="fontFamily">@font/josefin_sans</item>
|
||||
</style>
|
||||
|
||||
<style name="PopupAnimation">
|
||||
<item name="android:windowEnterAnimation">@anim/popup_in</item>
|
||||
<item name="android:windowExitAnimation">@anim/popup_out</item>
|
||||
|
||||
Binary file not shown.
@@ -21,10 +21,10 @@ import android.content.Context
|
||||
import android.graphics.PorterDuff.Mode.SRC_ATOP
|
||||
import android.graphics.PorterDuffColorFilter
|
||||
import android.graphics.drawable.Drawable
|
||||
import androidx.core.content.ContextCompat.getColor
|
||||
import androidx.core.content.ContextCompat.getDrawable
|
||||
import com.itsaky.androidide.uidesigner.R
|
||||
import com.itsaky.androidide.uidesigner.drawable.UiViewLayeredForeground
|
||||
import com.itsaky.androidide.utils.resolveAttr
|
||||
|
||||
fun layeredForeground(context: Context, drawable: Drawable): Drawable {
|
||||
return UiViewLayeredForeground(context, drawable)
|
||||
@@ -33,7 +33,7 @@ fun layeredForeground(context: Context, drawable: Drawable): Drawable {
|
||||
@JvmOverloads
|
||||
fun bgDesignerView(
|
||||
context: Context,
|
||||
color: Int = getColor(context, R.color.primaryLightColor)
|
||||
color: Int = context.resolveAttr(R.attr.colorOutline)
|
||||
): Drawable? {
|
||||
return getDrawable(context, R.drawable.bg_designer_view)?.apply {
|
||||
colorFilter = PorterDuffColorFilter(color, SRC_ATOP)
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
android:id="@+id/appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:backgroundTint="@color/primaryDarkColor"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$Behavior">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
@@ -58,9 +57,7 @@
|
||||
android:id="@+id/nav"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
app:itemIconTint="@color/primaryIconColor"
|
||||
app:itemTextColor="@color/primaryTextColor">
|
||||
android:layout_gravity="start">
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/widgets_fragment"
|
||||
|
||||
@@ -38,8 +38,7 @@
|
||||
android:id="@+id/workspace"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_designer_view"
|
||||
android:backgroundTint="@color/primaryLightColor"
|
||||
android:background="?attr/background"
|
||||
android:backgroundTintMode="src_atop"
|
||||
android:orientation="vertical" />
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/content_background"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp">
|
||||
|
||||
@@ -35,7 +34,6 @@
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:tooltipText="@string/title_viewaction_delete"
|
||||
app:icon="@drawable/ic_delete"
|
||||
app:iconTint="@color/secondaryIconColor"
|
||||
app:layout_constraintBottom_toBottomOf="@id/desc"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/name" />
|
||||
@@ -48,7 +46,6 @@
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:tooltipText="@string/msg_viewaction_add_attr"
|
||||
app:icon="@drawable/ic_add"
|
||||
app:iconTint="@color/secondaryIconColor"
|
||||
app:layout_constraintBottom_toBottomOf="@id/btn_delete"
|
||||
app:layout_constraintEnd_toStartOf="@id/btn_delete"
|
||||
app:layout_constraintTop_toTopOf="@id/btn_delete" />
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodySmall"
|
||||
android:textColor="?attr/colorOnSurface"
|
||||
app:layout_constraintStart_toStartOf="@id/name"
|
||||
app:layout_constraintTop_toBottomOf="@id/name"
|
||||
tools:text="android.widget.TextView" />
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:textAppearance="@style/TextAppearance.Material3.BodySmall"
|
||||
android:textColor="?attr/colorOnSurface"
|
||||
app:layout_constraintEnd_toEndOf="@id/attr_name"
|
||||
app:layout_constraintStart_toStartOf="@id/attr_name"
|
||||
app:layout_constraintTop_toBottomOf="@id/attr_name"
|
||||
|
||||
@@ -22,10 +22,8 @@ import android.graphics.Color
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.view.View
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.android.aaptcompiler.XmlResource
|
||||
import com.itsaky.androidide.inflater.R
|
||||
import java.io.File
|
||||
import com.itsaky.androidide.utils.resolveAttr
|
||||
|
||||
/**
|
||||
* View used to show views that cannot be inflated.
|
||||
@@ -43,7 +41,7 @@ private fun createErrView(context: Context, message: String): View {
|
||||
return TextView(context).apply {
|
||||
text = message
|
||||
background = ColorDrawable(Color.WHITE)
|
||||
setTextColor(ContextCompat.getColor(context, R.color.secondaryColor))
|
||||
setTextColor(context.resolveAttr(R.attr.colorError))
|
||||
setTextIsSelectable(true)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user