--- /dev/null
+using ElmSharp;\r
+\r
+namespace TrayApplication.Common\r
+{\r
+ public static class InputGeneratorBase\r
+ {\r
+ const string KeyName = "XF86Back";\r
+\r
+ private static InputGenerator inputGenerator;\r
+ public static InputGenerator InputGenerator\r
+ {\r
+ get { return inputGenerator; }\r
+ }\r
+ public static void InitInputGenerator()\r
+ {\r
+ inputGenerator = new InputGenerator(InputDeviceType.Keyboard, "TrayApplication");\r
+ }\r
+\r
+ public static void OnKeyEvent()\r
+ {\r
+ inputGenerator.GenerateKeyEvent(KeyName, 1);\r
+ inputGenerator.GenerateKeyEvent(KeyName, 0);\r
+ }\r
+\r
+ public static void FinalizeInputGenerator()\r
+ {\r
+ if (inputGenerator != null)\r
+ {\r
+ inputGenerator.Dispose();\r
+ }\r
+ }\r
+ }\r
+}
\ No newline at end of file
ApplicationId = applicationId;
IconUrl = url;
AppSelectCommand = new Command(OnAppSelect);
+ }\r
+\r
+ public AppInfoModel(string name, string url)
+ {
+ Name = name;
+ IconUrl = url;
}
public string Name { get; internal set; }
protected override void OnTerminate()
{
Tizen.Log.Info(Resources.LogTag, "Program OnTerminate");
- AppScoreDataBase.Disconnect();
+ AppScoreDataBase.Disconnect();\r
+ InputGeneratorBase.FinalizeInputGenerator();\r
base.OnTerminate();
}
{
class QuickAccessViewModel : PropertyNotifier
{
- private readonly List<string> AppNames = new List<string>() { "home", "settings", "volume", "notifications", "gallery", "power" };
+ private readonly List<string> AppNames = new List<string>() { "home", "settings", "volume", "back", "notifications", "gallery", "power" };
public QuickAccessViewModel()
{
new AppInfoModel(AppNames[0], "org.tizen.homescreen-efl", imagePath + AppNames[0] + ".png"),
new AppInfoModel(AppNames[1], "org.tizen.setting", imagePath + AppNames[1] + ".png"),
new AppInfoModel(AppNames[2], "org.tizen.volume", imagePath + AppNames[2] + ".png"),
+ new AppInfoModel(AppNames[3], imagePath + AppNames[3] + ".png"),
//new AppInfoModel(AppNames[3], "org.tizen.quickpanel", imagePath + AppNames[3] + ".png"), //Will be added Later
//new AppInfoModel(AppNames[5], "org.tizen.powerkey-syspopup", imagePath + AppNames[5] + ".png") //Will be added Later
};
{
public class QuickAccessView : View
{
+ private readonly List<string> AppNames = new List<string>() { "home", "settings", "volume", "back", "notifications", "gallery", "power" };
+
private const int QuickAccessViewHeight = 124;
private const int IconSize = 76;
private List<Button> defaultButtons;
Button button = new Button(buttonStyle)
{
WidthSpecification = IconSize.SpToPx(),
- HeightSpecification = IconSize.SpToPx()
+ HeightSpecification = IconSize.SpToPx(),
};
+
return button;
}
Remove(button);
}
defaultButtons.Clear();
+
+ int i = 0;
foreach (var item in appList)
{
Button button = CreateNewButton();
defaultButtons.Add(button);
button.BindingContext = item;
button.Icon.SetBinding(ImageView.ResourceUrlProperty, "IconUrl");
- button.SetBinding(Control.CommandProperty, "AppSelectCommand");
+ button.SetBinding(Control.CommandProperty, "AppSelectCommand");\r
+\r
+ button.Name = AppNames[i++];\r
+ if (button.Name == "back")\r
+ {\r
+ InputGeneratorBase.InitInputGenerator();\r
+ button.Clicked += (object sender, ClickedEventArgs e) =>\r
+ {\r
+ Tizen.Log.Debug(Resources.LogTag, "Back button clicked");\r
+ InputGeneratorBase.OnKeyEvent();\r
+ };\r
+ }\r
+ Tizen.Log.Info(Resources.LogTag, "Buttons Added");\r
}
- Tizen.Log.Info(Resources.LogTag, "Buttons Added");
- }
-
+ }\r
+\r
public void OnRemoveModeToggled(bool removeMode)
{
if (removeMode == true)
<privilege>http://tizen.org/privilege/externalstorage</privilege>
<privilege>http://tizen.org/privilege/externalstorage.appdata</privilege>
<privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+ <privilege>http://tizen.org/privilege/inputgenerator</privilege>
</privileges>
<dependencies />
<provides-appdefined-privileges />