root settings

This commit is contained in:
Yuriy Liskov
2020-01-17 05:45:27 +02:00
parent 2c4f21b305
commit 7f8525d65e
7 changed files with 105 additions and 38 deletions

View File

@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.liskovsoft.leankeykeyboard"> <!-- NOTE: use older sdk -->
<uses-sdk tools:overrideLibrary=" android.support.v17.leanback, androidx.leanback"/>
package="com.liskovsoft.leankeykeyboard">
<!-- NOTE: use older sdk -->
<uses-sdk tools:overrideLibrary="
android.support.v17.leanback,
androidx.leanback"/>
<uses-feature
android:name="android.software.leanback"
@@ -21,10 +25,10 @@
android:banner="@drawable/banner_app"
android:icon="@drawable/ic_launcher"
android:label="@string/ime_name"
tools:targetApi="21" >
tools:targetApi="21"
android:theme="@style/Theme.Leanback">
<activity
android:name="com.liskovsoft.leankeyboard.settings.kblayout.KbLayoutActivity"
android:theme="@style/Theme.Leanback"
android:name="com.liskovsoft.leankeyboard.settings.settings.KbSettingsActivity"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@@ -34,6 +38,10 @@
<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.liskovsoft.leankeyboard.settings.kblayout.KbLayoutActivity"
android:launchMode="singleTop">
</activity>
<activity
android:name="com.liskovsoft.leankeyboard.settings.kbchooser.GenericLaunchActivity"
android:launchMode="singleTop">
@@ -54,14 +62,6 @@
<meta-data
android:name="intent"
android:value="android.settings.INPUT_METHOD_SETTINGS"/>
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN"/>-->
<!-- <action android:name="android.intent.action.VIEW"/>-->
<!-- <category android:name="android.intent.category.LAUNCHER"/>-->
<!-- <category android:name="android.intent.category.LEANBACK_LAUNCHER"/>-->
<!-- </intent-filter>-->
</activity>
<service

View File

@@ -2,13 +2,15 @@ package com.liskovsoft.leankeyboard.settings.kblayout;
import android.os.Bundle;
import androidx.fragment.app.FragmentActivity;
import com.liskovsoft.leankeykeyboard.R;
import androidx.leanback.app.GuidedStepSupportFragment;
public class KbLayoutActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kb_layout);
//setContentView(R.layout.activity_kb_layout);
GuidedStepSupportFragment.addAsRoot(this, new KbLayoutFragment(), android.R.id.content);
}
}

View File

@@ -38,27 +38,6 @@ public class KbLayoutFragment extends GuidedStepSupportFragment {
public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {
KeyboardInfoAdapter adapter = new KeyboardInfoAdapter(getActivity());
initCheckedItems(adapter, actions);
//GuidedAction action = new GuidedAction.Builder(getActivity())
// .checkSetId(GuidedAction.CHECKBOX_CHECK_SET_ID)
// .id(ACTION_ID_LAYOUT_LANG)
// .description("String name")
// .title(getString(R.string.user_name)).build();
//actions.add(action);
//
//action = new GuidedAction.Builder(getActivity())
// .checkSetId(GuidedAction.CHECKBOX_CHECK_SET_ID)
// .id(ACTION_ID_LAYOUT_LANG)
// .description("String name")
// .title(getString(R.string.user_name)).build();
//actions.add(action);
//
//action = new GuidedAction.Builder(getActivity())
// .id(ACTION_ID_EMAIL)
// .description("String email")
// .descriptionEditable(true)
// .title(getString(R.string.email_id)).build();
//actions.add(action);
}
private void initCheckedItems(CheckedSource source, List<GuidedAction> actions) {

View File

@@ -0,0 +1,14 @@
package com.liskovsoft.leankeyboard.settings.settings;
import android.os.Bundle;
import androidx.fragment.app.FragmentActivity;
import androidx.leanback.app.GuidedStepSupportFragment;
public class KbSettingsActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GuidedStepSupportFragment.addAsRoot(this, new KbSettingsFragment(), android.R.id.content);
}
}

View File

@@ -0,0 +1,62 @@
package com.liskovsoft.leankeyboard.settings.settings;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.leanback.app.GuidedStepSupportFragment;
import androidx.leanback.widget.GuidanceStylist.Guidance;
import androidx.leanback.widget.GuidedAction;
import com.liskovsoft.leankeyboard.settings.kbchooser.GenericLaunchActivity;
import com.liskovsoft.leankeyboard.settings.kblayout.KbLayoutFragment;
import com.liskovsoft.leankeykeyboard.R;
import java.util.List;
public class KbSettingsFragment extends GuidedStepSupportFragment {
private static final long ACTION_ID_ACTIVATE_KB = 0;
private static final long ACTION_ID_CHANGE_LAYOUT = 1;
@NonNull
@Override
public Guidance onCreateGuidance(Bundle savedInstanceState) {
String title = getActivity().getResources().getString(R.string.kb_settings);
String desc = getActivity().getResources().getString(R.string.kb_settings_desc);
Drawable icon = ContextCompat.getDrawable(getActivity(), R.drawable.ic_launcher);
return new Guidance(
title,
desc,
"",
icon
);
}
@Override
public void onCreateActions(@NonNull List<GuidedAction> actions, Bundle savedInstanceState) {
GuidedAction action = new GuidedAction.Builder(getActivity())
.id(ACTION_ID_ACTIVATE_KB)
.hasNext(true)
.title(getString(R.string.activate_keyboard)).build();
actions.add(action);
action = new GuidedAction.Builder(getActivity())
.id(ACTION_ID_CHANGE_LAYOUT)
.hasNext(true)
.title(getString(R.string.change_layout)).build();
actions.add(action);
}
@Override
public void onGuidedActionClicked(GuidedAction action) {
if (action.getId() == ACTION_ID_ACTIVATE_KB) {
Intent intent = new Intent(getActivity(), GenericLaunchActivity.class);
Toast.makeText(getActivity(), getString(R.string.enable_kb_in_system_prefs, getString(R.string.ime_name)), Toast.LENGTH_LONG).show();
startActivity(intent);
} else if (action.getId() == ACTION_ID_CHANGE_LAYOUT && getFragmentManager() != null) {
GuidedStepSupportFragment.add(getFragmentManager(), new KbLayoutFragment());
}
}
}

View File

@@ -24,4 +24,9 @@
<string name="language_dialog_subtitle">Чтобы открыть этот диалог, зажмите кнопку \'земной шар\'</string>
<string name="kb_layout_desc">Раскладка клавиатуры</string>
<string name="kb_layout">Раскладка</string>
<string name="kb_settings">Настройки</string>
<string name="kb_settings_desc">Настройки клавиатуры</string>
<string name="activate_keyboard">Активировать клавиатуру</string>
<string name="change_layout">Поменять раскладку</string>
<string name="enable_kb_in_system_prefs">Вам нужно включить %s в Системных настройках</string>
</resources>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">LeanKey Keyboard Pro</string>
<string name="ime_service_name">LeanKey Keyboard Pro</string>
<string name="ime_name" translatable="false">LeanKey Keyboard Pro</string>
<string name="ime_service_name" translatable="false">LeanKey Keyboard Pro</string>
<string name="word_separators">" .,;:!?
()[]*&amp;@{}/&lt;>_+=|"
</string>
@@ -31,4 +31,9 @@
<string name="email_id">Email</string>
<string name="kb_layout_desc">Keyboard Layout</string>
<string name="kb_layout">Layout</string>
<string name="kb_settings">Settings</string>
<string name="kb_settings_desc">Keyboard Settings</string>
<string name="activate_keyboard">Activate Keyboard</string>
<string name="change_layout">Change Layout</string>
<string name="enable_kb_in_system_prefs">You need to enable %s in System Preferences</string>
</resources>