WIP selected activity
This commit is contained in:
Родитель
f35a1ec4f9
Коммит
3040801d5f
|
@ -53,7 +53,7 @@ namespace Unity.Android.Logcat
|
|||
{
|
||||
// Get existing open window or if none, make a new one:
|
||||
AndroidLogcatPackagesWindow window = (AndroidLogcatPackagesWindow)EditorWindow.GetWindow(typeof(AndroidLogcatPackagesWindow));
|
||||
window.titleContent = new UnityEngine.GUIContent("Pacakge Information");
|
||||
window.titleContent = new UnityEngine.GUIContent("Package Information");
|
||||
window.Show();
|
||||
}
|
||||
|
||||
|
@ -82,8 +82,8 @@ namespace Unity.Android.Logcat
|
|||
m_VerticalSplit.RegisterCallback<GeometryChangedEvent>(InitializeVerticalLayout);
|
||||
|
||||
m_Packages = new AndroidLogcatPackagesView(m_Runtime, rootVisualElement, GetPackageEntries(m_DeviceSelection.SelectedDevice).ToList());
|
||||
m_Packages.PackageSelected = PackageSelected;
|
||||
m_Packages.PackageUninstalled = PackageUninstalled;
|
||||
m_Packages.OnPackageSelected = PackageSelected;
|
||||
m_Packages.OnPackageUninstalled = PackageUninstalled;
|
||||
m_PackageProperties = new AndroidLogcatPackagePropertiesView(rootVisualElement);
|
||||
m_PackageUtilities = new AndroidLogcatPackageUtilities(rootVisualElement);
|
||||
|
||||
|
@ -110,6 +110,8 @@ namespace Unity.Android.Logcat
|
|||
if (m_Packages == null)
|
||||
throw new Exception("Package view was not created ?");
|
||||
m_Packages.RefreshEntries(selectedDevice, GetPackageEntries(selectedDevice).ToList());
|
||||
|
||||
PackageSelected(m_Packages.SelectedPackage);
|
||||
}
|
||||
|
||||
private void RefreshPackages()
|
||||
|
@ -141,16 +143,13 @@ namespace Unity.Android.Logcat
|
|||
|
||||
void PackageSelected(PackageEntry entry)
|
||||
{
|
||||
// TODO: device selection
|
||||
|
||||
var parser = new AndroidLogcatPackageInfoParser(AndroidLogcatUtilities.RetrievePackageProperties(
|
||||
m_Runtime.Tools.ADB, m_Runtime.DeviceQuery.FirstConnectedDevice, entry));
|
||||
m_Runtime.Tools.ADB, m_DeviceSelection.SelectedDevice, entry));
|
||||
var entries = parser.ParsePackageInformationAsSingleEntries(entry.Name);
|
||||
m_PackageProperties.RefreshProperties(entries);
|
||||
|
||||
var activities = parser.ParseLaunchableActivities(entry.Name);
|
||||
m_PackageUtilities.RefreshActivities(activities);
|
||||
|
||||
m_PackageUtilities.RefreshActivities(m_DeviceSelection.SelectedDevice, entry, activities);
|
||||
}
|
||||
|
||||
void PackageUninstalled(PackageEntry entry)
|
||||
|
|
|
@ -35,8 +35,8 @@
|
|||
<ui:VisualElement name="package-tab-launch-options" style="flex-grow: 1; background-color: rgba(0, 0, 0, 0); height: 100px;">
|
||||
<ui:Label text="Launchable Activities:" />
|
||||
<ui:ListView fixed-item-height="20" name="launchable-activities" style="border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom-width: 1px; border-top-left-radius: 0; border-bottom-left-radius: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; border-left-color: rgb(0, 0, 0); border-right-color: rgb(0, 0, 0); border-top-color: rgb(0, 0, 0); border-bottom-color: rgb(0, 0, 0);" />
|
||||
<ui:Button text="Launch" display-tooltip-when-elided="true" name="launch" />
|
||||
<ui:Button text="Stop" display-tooltip-when-elided="true" name="stop" />
|
||||
<ui:Button text="Launch" display-tooltip-when-elided="true" name="launch-android-application" />
|
||||
<ui:Button text="Stop" display-tooltip-when-elided="true" name="stop-android-application" />
|
||||
</ui:VisualElement>
|
||||
<ui:VisualElement name="package-tab-others" style="flex-grow: 1; background-color: rgba(0, 0, 0, 0); flex-direction: row; transform-origin: center; height: 100px;">
|
||||
<ui:Label tabindex="-1" text="Simulate Buttons:" display-tooltip-when-elided="true" />
|
||||
|
|
|
@ -21,6 +21,21 @@ namespace Unity.Android.Logcat
|
|||
VisualElement m_TabOthers;
|
||||
ListView m_LaunchableActivities;
|
||||
|
||||
Button m_LaunchApplication;
|
||||
Button m_StopApplication;
|
||||
|
||||
IAndroidLogcatDevice m_Device;
|
||||
PackageEntry m_PackageEntry;
|
||||
|
||||
internal string SelectedActivity
|
||||
{
|
||||
get
|
||||
{
|
||||
var item = m_LaunchableActivities.selectedItem;
|
||||
return item?.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
internal AndroidLogcatPackageUtilities(VisualElement root)
|
||||
{
|
||||
m_TabContents = root.Q("package-tabs-contents");
|
||||
|
@ -34,6 +49,17 @@ namespace Unity.Android.Logcat
|
|||
m_TabOthers = root.Q("package-tab-others");
|
||||
m_LaunchableActivities = root.Q<ListView>("launchable-activities");
|
||||
|
||||
m_LaunchApplication = root.Q<Button>("launch-android-application");
|
||||
m_LaunchApplication.clicked += () =>
|
||||
{
|
||||
if (m_Device == null ||
|
||||
m_PackageEntry == null)
|
||||
return;
|
||||
m_Device.StartOrResumePackage(m_PackageEntry.Name, SelectedActivity);
|
||||
};
|
||||
|
||||
m_StopApplication = root.Q<Button>("stop-android-application");
|
||||
|
||||
var dispatcher = AndroidLogcatManager.instance.Runtime.Dispatcher;
|
||||
root.Q<Button>("android-back-button").clicked += () =>
|
||||
{
|
||||
|
@ -70,8 +96,10 @@ namespace Unity.Android.Logcat
|
|||
m_TabContents.Add(m_TabOthers);
|
||||
}
|
||||
|
||||
internal void RefreshActivities(List<string> activities)
|
||||
internal void RefreshActivities(IAndroidLogcatDevice device, PackageEntry packageEntry, List<string> activities)
|
||||
{
|
||||
m_PackageEntry = packageEntry;
|
||||
m_Device = device;
|
||||
m_LaunchableActivities.itemsSource = activities;
|
||||
if (activities.Count > 0)
|
||||
m_LaunchableActivities.selectedIndex = 0;
|
||||
|
|
|
@ -24,8 +24,18 @@ namespace Unity.Android.Logcat
|
|||
List<PackageEntry> m_UnfilteredEntries;
|
||||
List<PackageEntry> m_FilteredEntries;
|
||||
|
||||
internal Action<PackageEntry> PackageSelected { set; get; }
|
||||
internal Action<PackageEntry> PackageUninstalled { set; get; }
|
||||
internal Action<PackageEntry> OnPackageSelected { set; get; }
|
||||
internal Action<PackageEntry> OnPackageUninstalled { set; get; }
|
||||
|
||||
internal PackageEntry SelectedPackage
|
||||
{
|
||||
get
|
||||
{
|
||||
if (m_ListView.selectedIndex < 0)
|
||||
return null;
|
||||
return (PackageEntry)m_ListView.itemsSource[m_ListView.selectedIndex];
|
||||
}
|
||||
}
|
||||
|
||||
internal AndroidLogcatPackagesView(AndroidLogcatRuntimeBase runtime, VisualElement root, List<PackageEntry> packageEntries)
|
||||
{
|
||||
|
@ -41,7 +51,7 @@ namespace Unity.Android.Logcat
|
|||
FilterBy(s.newValue);
|
||||
});
|
||||
|
||||
m_ListView.sortingEnabled = true;
|
||||
m_ListView.sortingMode = ColumnSortingMode.Default;
|
||||
m_ListView.columnSortingChanged += ColumnSortingChanged;
|
||||
CreateLabel(nameof(PackageEntry.Name), (e) => e.Name);
|
||||
CreateLabel(nameof(PackageEntry.Installer), (e) => e.Installer);
|
||||
|
@ -62,7 +72,7 @@ namespace Unity.Android.Logcat
|
|||
uninstall.RegisterCallback<ClickEvent>((e) =>
|
||||
{
|
||||
if (AndroidLogcatUtilities.UninstallPackageWithConfirmation(m_Device, uninstall.Entry))
|
||||
PackageUninstalled?.Invoke(uninstall.Entry);
|
||||
OnPackageUninstalled?.Invoke(uninstall.Entry);
|
||||
});
|
||||
operations.Add(uninstall);
|
||||
return operations;
|
||||
|
@ -157,7 +167,7 @@ namespace Unity.Android.Logcat
|
|||
if (e.button == 1)
|
||||
m_ListView.SetSelectionWithoutNotify(new[] { l.Index });
|
||||
|
||||
PackageSelected?.Invoke(l.Entry);
|
||||
OnPackageSelected?.Invoke(l.Entry);
|
||||
}, label);
|
||||
|
||||
label.RegisterCallback<MouseUpEvent, PackageEntryLabel>((e, l) =>
|
||||
|
|
Загрузка…
Ссылка в новой задаче