2014-04-22 00:27:13 -04:00
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Linq;
|
|
|
|
using Android.App;
|
|
|
|
using Android.Content;
|
|
|
|
using Android.Content.PM;
|
|
|
|
using Android.OS;
|
|
|
|
using Android.Widget;
|
2014-05-09 15:49:49 -04:00
|
|
|
using Keepass2android.Pluginsdk;
|
2014-04-22 00:27:13 -04:00
|
|
|
using PluginHostTest;
|
|
|
|
|
|
|
|
namespace keepass2android
|
|
|
|
{
|
2014-05-30 14:51:07 -04:00
|
|
|
[Activity(Label = "@string/plugins", ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden)]
|
|
|
|
[IntentFilter(new[] { "keepass2android.PluginListActivity" }, Categories = new[] { Intent.CategoryDefault })]
|
2014-04-22 00:27:13 -04:00
|
|
|
public class PluginListActivity : ListActivity
|
|
|
|
{
|
|
|
|
private PluginArrayAdapter _pluginArrayAdapter;
|
2014-05-05 00:15:19 -04:00
|
|
|
private List<PluginItem> _items;
|
2014-04-22 00:27:13 -04:00
|
|
|
|
|
|
|
protected override void OnCreate(Bundle bundle)
|
|
|
|
{
|
|
|
|
base.OnCreate(bundle);
|
|
|
|
|
|
|
|
SetContentView(Resource.Layout.plugin_list);
|
2014-05-30 14:51:07 -04:00
|
|
|
|
|
|
|
PluginHost.TriggerRequests(this);
|
|
|
|
|
2014-04-22 00:27:13 -04:00
|
|
|
ListView listView = FindViewById<ListView>(Android.Resource.Id.List);
|
|
|
|
listView.ItemClick +=
|
|
|
|
(sender, args) =>
|
2014-05-30 14:51:07 -04:00
|
|
|
{
|
|
|
|
Intent i = new Intent(this, typeof(PluginDetailsActivity));
|
|
|
|
i.PutExtra(Strings.ExtraPluginPackage, _items[args.Position].Package);
|
|
|
|
StartActivity(i);
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2014-04-22 00:27:13 -04:00
|
|
|
}
|
2014-05-05 00:15:19 -04:00
|
|
|
protected override void OnResume()
|
|
|
|
{
|
|
|
|
base.OnResume();
|
|
|
|
PluginDatabase pluginDb = new PluginDatabase(this);
|
|
|
|
|
|
|
|
_items = (from pluginPackage in pluginDb.GetAllPluginPackages()
|
2014-05-30 14:51:07 -04:00
|
|
|
let version = PackageManager.GetPackageInfo(pluginPackage, 0).VersionName
|
|
|
|
let enabledStatus = pluginDb.IsEnabled(pluginPackage) ? GetString(Resource.String.plugin_enabled) : GetString(Resource.String.plugin_disabled)
|
|
|
|
select new PluginItem(pluginPackage, enabledStatus, this)).ToList();
|
2014-05-05 00:15:19 -04:00
|
|
|
/*
|
|
|
|
{
|
|
|
|
new PluginItem("PluginA", Resource.Drawable.Icon, "keepass2android.plugina", "connected"),
|
|
|
|
new PluginItem("KeepassNFC", Resource.Drawable.Icon, "com.bla.blubb.plugina", "disconnected")
|
|
|
|
};
|
|
|
|
* */
|
|
|
|
_pluginArrayAdapter = new PluginArrayAdapter(this, Resource.Layout.ListViewPluginRow, _items);
|
|
|
|
ListAdapter = _pluginArrayAdapter;
|
|
|
|
}
|
2014-04-22 00:27:13 -04:00
|
|
|
}
|
|
|
|
}
|