private void ButtonStartShell_Click(object sender, RoutedEventArgs e) { ProcessStartInfo info = new ProcessStartInfo { WorkingDirectory = AdbConstants.toolsPath, FileName = "cmd", UseShellExecute = false, Verb = "runas", }; if (SystemHelper.IsWin10) { var result = BoxHelper.ShowChoiceDialog("Notice", "msgShellChoiceTip", "Powershell", "CMD"); switch (result) { case ChoiceResult.BtnRight: break; case ChoiceResult.BtnLeft: info.FileName = "powershell.exe"; break; case ChoiceResult.BtnCancel: return; } } Process.Start(info); }
private bool Login() { var am = App.Current.AccountManager; try { am.Init(); am.AutoLogin(); return(true); } catch (Exception ex) { Logger.Warn(this, "Auto login failed", ex); } App.Current.Dispatcher.Invoke(() => { new LoginWindow(am) { Owner = App.Current.MainWindow }.ShowDialog(); }); bool accountOk = (am.Current?.IsActivated == true && am.Current?.IsPaid == true); if (!accountOk) { var result = BoxHelper.ShowChoiceDialog("Warrning", "msgNotActivated", "btnExitSoftware", "btnGotoPay"); if (result == ChoiceResult.BtnRight) { Process.Start(App.Current.Resources["urlDvWebsite"].ToString()); } } return(accountOk); }
public void ActivateShizukuManager(DeviceBasicInfo targetDevice) { bool fixAndroidO = false; if (new DeviceBuildPropGetter(targetDevice.Serial).GetAndroidVersion() >= new Version("8.0.0")) { var result = BoxHelper.ShowChoiceDialog("msgNotice", "msgFixAndroidO", "btnDoNotOpen", "btnOpen"); switch (result) { case ChoiceResult.BtnCancel: return; case ChoiceResult.BtnLeft: fixAndroidO = false; break; case ChoiceResult.BtnRight: fixAndroidO = true; break; } } var args = new ShScriptExecuterArgs() { DevBasicInfo = targetDevice, FixAndroidOAdb = fixAndroidO }; /*开始操作*/ ShizukuManagerActivator activator = new ShizukuManagerActivator(); activator.Init(args); activator.RunAsync(); BoxHelper.ShowLoadingDialog(activator); }
public override bool Check(DeviceBasicInfo targetDevice) { Logger.Debug(this, "android version checking"); Version result = new Version(1, 0); Task.Run(() => { Thread.Sleep(1000); result = new DeviceBuildPropGetter(targetDevice.Serial).GetAndroidVersion(); BoxHelper.CloseLoadingDialog(); }); BoxHelper.ShowLoadingDialog(); Logger.Debug(this, $"Min{version} Device{result}"); if (result == null) { var fmt = App.Current.Resources["msgAndroidVersionCheckFailedFormat"].ToString(); return(BoxHelper.ShowChoiceDialog( "Warning", String.Format(fmt, version.ToString(3)), "btnCancel", "btnContinue").ToBool()); } if (result < version) { string tooLowFmt = App.Current.Resources["msgAndroidVersionTooLowFmt"].ToString(); string msg = String.Format(tooLowFmt, version.ToString(3)); BoxHelper.ShowMessageDialog("Warning", msg); return(false); } return(true); }
public override bool Check(DeviceBasicInfo tragetDevice) { if (!((MainWindow)App.Current.MainWindow).DevInfoPanel.CurrentDeviceIsRoot) { return(BoxHelper.ShowChoiceDialog("Warning", "warrningNeedRootAccess").ToBool()); } return(true); }
public bool?ShowChoiceBox(Context context, string title, string msg, string btnLeft = null, string btnRight = null) { bool?result = null; App.Current.Dispatcher.Invoke(() => { result = BoxHelper.ShowChoiceDialog(title, msg, btnLeft, btnRight).ToBool(); }); return(result); }
public override bool Check(DeviceBasicInfo targetDevice) { var users = new UserManager(targetDevice).GetUsers(); Logger.Info(this, users.Length); if (users.Length > 0) { return(BoxHelper.ShowChoiceDialog("Warning", "msgMaybeHaveOtherUser", "btnCancel", "btnIHaveDeletedAllUser").ToBool()); } return(true); }
private void ButtonRebootToSnapdragon9008_Click(object sender, RoutedEventArgs e) { bool _needToContinue = BoxHelper.ShowChoiceDialog("msgNotice", UIHelper.GetString("msgNoticeForRebootToEdlLine1") + "\n" + UIHelper.GetString("msgNoticeForRebootToEdlLine2") + "\n" + UIHelper.GetString("msgNoticeForRebootToEdlLine3"), "btnCancel", "btnContinue").ToBool(); if (!_needToContinue) { return; } DeviceRebooter.RebootAsync(_currentDevInfo, RebootOptions.Snapdragon9008); }
public void ShutdownApp(Context ctx) { App.Current.Dispatcher.Invoke(() => { var fmt = App.Current.Resources["msgRequestShutdownAppFormat"].ToString(); string msg = String.Format(fmt, ctx.GetType().Name); bool userIsAccept = BoxHelper.ShowChoiceDialog("Notice", msg, "btnDeny", "btnAccept").ToBool(); if (userIsAccept) { Application.Current.Shutdown(); } else { throw new UserDeniedException(); } }); }
public void RestartApp(Context ctx) { App.Current.Dispatcher.Invoke(() => { var fmt = App.Current.Resources["msgRequestRestartAppFormat"].ToString(); string msg = String.Format(fmt, ctx.GetType().Name); bool userIsAccept = BoxHelper.ShowChoiceDialog("Notice", msg, "btnDeny", "btnAccept").ToBool(); if (userIsAccept) { Application.Current.Shutdown(); Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location); } else { throw new UserDeniedException(); } }); }
private void ButtonRelockMi_Click(object sender, RoutedEventArgs e) { if (!BoxHelper.ShowChoiceDialog("Warning", "msgRelockWarning").ToBool()) { return; } if (!BoxHelper.ShowChoiceDialog("Warning", "msgRelockWarningAgain").ToBool()) { return; } var oemRelocker = new OemRelocker(); oemRelocker.Init(new Basic.FlowFramework.FlowArgs() { DevBasicInfo = _currentDeviceInfo }); oemRelocker.RunAsync(); BoxHelper.ShowLoadingDialog(oemRelocker); }
public void RestartAppAsAdmin(Context ctx) { App.Current.Dispatcher.Invoke(() => { var fmt = App.Current.Resources["msgRequestRestartAppAsAdminFormat"].ToString(); string msg = String.Format(fmt, ctx.GetType().Name); bool userIsAccept = BoxHelper.ShowChoiceDialog("Notice", msg, "btnDeny", "btnAccept").ToBool(); if (userIsAccept) { ProcessStartInfo startInfo = new ProcessStartInfo("..\\AutumnBox-秋之盒.exe"); startInfo.Arguments = $"-tryadmin -waitatmb"; Logger.Debug(this, startInfo.FileName + " " + startInfo.Arguments); Process.Start(startInfo); Application.Current.Shutdown(); } else { throw new UserDeniedException(); } }); }
private void ButtonVirtualBtnHide_Click(object sender, RoutedEventArgs e) { var choiceResult = BoxHelper.ShowChoiceDialog("PleaseSelected", "msgVirtualButtonHider", "btnHide", "btnUnhide"); if (choiceResult == ChoiceResult.BtnCancel) { return; } var args = new VirtualButtonHiderArgs() { DevBasicInfo = _currentDevInfo, IsHide = (choiceResult == ChoiceResult.BtnRight), }; VirtualButtonHider hider = new VirtualButtonHider(); hider.Init(args); hider.RunAsync(); BoxHelper.ShowLoadingDialog(hider); }
private void RegisterEvent() { DevicesPanel.SelectionChanged += (s, e) => { if (this.DevicesPanel.CurrentSelectDevice.State == DeviceState.None)//如果没选择 { Reset(); } else { Refresh(this.DevicesPanel.CurrentSelectDevice); } }; FunctionFlowBase.AnyFinished += FlowFinished; AdbHelper.AdbServerStartsFailed += (s, e) => { DevicesMonitor.Stop(); bool _continue = true; Dispatcher.Invoke(() => { _continue = BoxHelper.ShowChoiceDialog("msgWarning", "msgStartAdbServerFail", "btnExit", "btnIHaveCloseOtherPhoneHelper") .ToBool(); }); if (!_continue) { Close(); } else { Task.Run(() => { Thread.Sleep(3000); App.Current.Dispatcher.Invoke(DevicesMonitor.Begin); }); } }; }
public void Load() { #if PAID_VERSION App.Current.Dispatcher.Invoke(() => { loadingWindowApi.SetProgress(10); loadingWindowApi.SetTip(App.Current.Resources["ldmsgLoginAccount"].ToString()); }); if (Login() == false) { App.Current.Dispatcher.Invoke(() => App.Current.Shutdown(1)); } #endif //如果设置在启动时打开调试窗口 if (Settings.Default.ShowDebuggingWindowNextLaunch) { //打开调试窗口 App.Current.Dispatcher.Invoke(() => { new DebugWindow().Show(); }); } PrintInfo(); //启动ADB服务 App.Current.Dispatcher.Invoke(() => { loadingWindowApi.SetProgress(30); loadingWindowApi.SetTip(App.Current.Resources["ldmsgStartAdb"].ToString()); }); bool success = false; bool tryAgain = true; while (!success) { Logger.Info(this, "Try to start adb server "); success = AdbHelper.StartServer(); Logger.Info(this, success ? "adb server starts success" : "adb server starts failed..."); if (!success) { App.Current.Dispatcher.Invoke(() => { tryAgain = BoxHelper.ShowChoiceDialog( "msgWarning", "msgStartAdbServerFail", "btnExit", "btnIHaveCloseOtherPhoneHelper").ToBool(); }); } if (tryAgain) { Thread.Sleep(2000); } else { App.Current.Dispatcher.Invoke(() => { App.Current.Shutdown(App.HAVE_OTHER_PROCESS); }); } } App.Current.Dispatcher.Invoke(() => { //初始化主窗口 App.Current.MainWindow = new MainWindow(); //初始化拓展模块及其API框架 loadingWindowApi.SetProgress(60); loadingWindowApi.SetTip(App.Current.Resources["ldmsgLoadingExtensions"].ToString()); }); OpenFrameworkManager.LoadApi(); App.Current.OpenFrameworkManager.ReloadAllScript(); App.Current.OpenFrameworkManager.LoadAllExtension(); //启动设备拔插监听器 App.Current.Dispatcher.Invoke(() => { loadingWindowApi.SetProgress(80); loadingWindowApi.SetTip(App.Current.Resources["ldmsgStartDeviceMonitor"].ToString()); }); DevicesMonitor.Begin(); //加载完成,启动主界面 App.Current.Dispatcher.Invoke(() => { loadingWindowApi.SetProgress(100); loadingWindowApi.Finish(); App.Current.MainWindow.Show(); }); }
public override bool Check(DeviceBasicInfo tragetDevice) { return(BoxHelper.ShowChoiceDialog("titleMustRead", MsgKey).ToBool()); }