UI: Create XTab
This commit is contained in:
parent
773ee214fe
commit
2033accbee
@ -1,7 +1,6 @@
|
||||
package io.neoterm.frontend.preference
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import io.neoterm.BuildConfig
|
||||
|
||||
/**
|
||||
* @author kiva
|
||||
@ -24,15 +23,14 @@ object NeoTermPath {
|
||||
const val SOURCE_FILE = "$USR_PATH/etc/apt/sources.list"
|
||||
const val PACKAGE_LIST_DIR = "$USR_PATH/var/lib/apt/lists"
|
||||
|
||||
const val RELEASE_SOURCE = "https://mirrors.geekpie.org/neoterm"
|
||||
const val DEBUG_SOURCE = "http://neoterm.studio"
|
||||
const val SOURCE = "http://neoterm.studio"
|
||||
|
||||
val DEFAULT_SOURCE: String
|
||||
val SERVER_BASE_URL: String
|
||||
val SERVER_BOOT_URL: String
|
||||
|
||||
init {
|
||||
DEFAULT_SOURCE = DEBUG_SOURCE
|
||||
DEFAULT_SOURCE = SOURCE
|
||||
SERVER_BASE_URL = DEFAULT_SOURCE
|
||||
SERVER_BOOT_URL = "$SERVER_BASE_URL/boot"
|
||||
}
|
||||
|
@ -1,7 +1,11 @@
|
||||
package io.neoterm.frontend.xorg
|
||||
|
||||
import io.neoterm.backend.TerminalSession
|
||||
|
||||
/**
|
||||
* @author kiva
|
||||
*/
|
||||
|
||||
class XSession
|
||||
class XSession {
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package io.neoterm.ui.term
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.app.AlertDialog
|
||||
import android.content.*
|
||||
@ -17,7 +16,6 @@ import android.support.v7.widget.Toolbar
|
||||
import android.view.*
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.ImageButton
|
||||
import android.widget.Toast
|
||||
import de.mrapp.android.tabswitcher.*
|
||||
import io.neoterm.App
|
||||
import io.neoterm.R
|
||||
@ -30,12 +28,12 @@ import io.neoterm.frontend.preference.NeoPermission
|
||||
import io.neoterm.frontend.preference.NeoPreference
|
||||
import io.neoterm.frontend.shell.ShellParameter
|
||||
import io.neoterm.services.NeoTermService
|
||||
import io.neoterm.ui.bonus.BonusActivity
|
||||
import io.neoterm.ui.pm.PackageManagerActivity
|
||||
import io.neoterm.ui.settings.SettingActivity
|
||||
import io.neoterm.ui.setup.SetupActivity
|
||||
import io.neoterm.ui.term.tab.TermTab
|
||||
import io.neoterm.ui.term.tab.TermTabDecorator
|
||||
import io.neoterm.ui.term.tab.XSessionTab
|
||||
import io.neoterm.utils.FullScreenHelper
|
||||
import io.neoterm.utils.RangedInt
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
@ -154,6 +152,10 @@ class NeoTermActivity : AppCompatActivity(), ServiceConnection, SharedPreference
|
||||
forceAddSystemSession()
|
||||
true
|
||||
}
|
||||
R.id.menu_item_new_x_session -> {
|
||||
addXSession();
|
||||
true
|
||||
}
|
||||
else -> super.onOptionsItemSelected(item)
|
||||
}
|
||||
}
|
||||
@ -434,7 +436,7 @@ class NeoTermActivity : AppCompatActivity(), ServiceConnection, SharedPreference
|
||||
.systemShell(systemShell)
|
||||
val session = termService!!.createTermSession(parameter)
|
||||
|
||||
session.mSessionName = sessionName ?: "NeoTerm #${termService!!.sessions.size}"
|
||||
session.mSessionName = sessionName ?: generateSessionName("NeoTerm")
|
||||
|
||||
val tab = createTab(session.mSessionName) as TermTab
|
||||
tab.termData.initializeSessionWith(session, sessionCallback, viewClient)
|
||||
@ -443,6 +445,14 @@ class NeoTermActivity : AppCompatActivity(), ServiceConnection, SharedPreference
|
||||
switchToSession(tab)
|
||||
}
|
||||
|
||||
private fun addXSession() {
|
||||
|
||||
}
|
||||
|
||||
private fun generateSessionName(prefix: String): String {
|
||||
return "$prefix #${termService!!.sessions.size}"
|
||||
}
|
||||
|
||||
private fun switchToSession(session: TerminalSession?) {
|
||||
if (session == null) {
|
||||
return
|
||||
@ -483,9 +493,14 @@ class NeoTermActivity : AppCompatActivity(), ServiceConnection, SharedPreference
|
||||
}
|
||||
|
||||
private fun createTab(tabTitle: String?): Tab {
|
||||
val tab = TermTab(tabTitle ?: "NeoTerm")
|
||||
tab.isCloseable = true
|
||||
return postTabCreated(TermTab(tabTitle ?: "NeoTerm"))
|
||||
}
|
||||
|
||||
private fun createXTab(tabTitle: String?): Tab {
|
||||
return postTabCreated(XSessionTab(tabTitle ?: "NeoTerm"))
|
||||
}
|
||||
|
||||
private fun <T : Tab> postTabCreated(tab: T) : T {
|
||||
// We must create a Bundle for each tab
|
||||
// tabs can use them to store status.
|
||||
tab.parameters = Bundle()
|
||||
|
@ -5,4 +5,6 @@ import de.mrapp.android.tabswitcher.Tab
|
||||
/**
|
||||
* @author kiva
|
||||
*/
|
||||
class XSessionTab(title: CharSequence) : Tab(title) {}
|
||||
class XSessionTab(title: CharSequence) : Tab(title) {
|
||||
|
||||
}
|
||||
|
@ -17,6 +17,12 @@
|
||||
android:id="@+id/menu_item_new_system_session"
|
||||
android:title="@string/new_system_session"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_item_new_x_session"
|
||||
android:title="@string/new_x_session"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_item_package_settings"
|
||||
android:title="@string/package_settings"
|
||||
|
@ -136,6 +136,7 @@
|
||||
<string name="select_new_value">Select</string>
|
||||
<string name="input_new_value">Enter new color</string>
|
||||
<string name="toggle_eks">Toggle extra keys</string>
|
||||
<string name="new_x_session">New X Session</string>
|
||||
|
||||
<string-array name="pref_general_shell_entries" translatable="false">
|
||||
<item>sh</item>
|
||||
@ -145,12 +146,10 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="pref_package_source_entries" translatable="false">
|
||||
<item>mirrors.geekpie.org</item>
|
||||
<item>neoterm.studio</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="pref_package_source_values" translatable="false">
|
||||
<item>https://mirrors.geekpie.org/neoterm</item>
|
||||
<item>http://neoterm.studio</item>
|
||||
</string-array>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user