WIP fixes startup (a first one ...)

main
Paul Schneider 9 years ago
parent 29b6d75086
commit 1840c869d6
2 changed files with 42 additions and 36 deletions

@ -67,9 +67,10 @@ namespace BookAStar
MainSettings.UserChanged += MainSettings_UserChanged;
CrossConnectivity.Current.ConnectivityChanged += (conSender, args) =>
{ App.IsConnected = args.IsConnected; };
SetupHubConnection();
MainSettings_UserChanged(this, null);
if (CrossConnectivity.Current.IsConnected)
StartHubConnection();
StartConnexion();
}
// omg
@ -106,7 +107,7 @@ namespace BookAStar
// Called on rotation
private void OnSuspended(object sender, EventArgs e)
{
StopHubConnection();
StopConnection();
int position = 0;
DataManager.Instance.AppState.Clear();
foreach (Page page in Navigation.NavigationStack)
@ -125,7 +126,7 @@ namespace BookAStar
// called on app startup, after OnStartup, not on rotation
private void OnAppResumed(object sender, EventArgs e)
{
StartHubConnection();
StartConnexion();
// TODO restore the navigation stack
base.OnResume();
foreach (var pageState in DataManager.Instance.AppState)
@ -316,7 +317,7 @@ namespace BookAStar
if (isConnected)
{
// TODO Start all cloud related stuff
StartHubConnection();
StartConnexion();
}
}
@ -331,8 +332,9 @@ namespace BookAStar
}
}
// Start the Hub connection
public static async void StartHubConnection ()
public static async void StartConnexion ()
{
if (CrossConnectivity.Current.IsConnected)
try
{
await chatHubConnection.Start();
@ -350,6 +352,8 @@ namespace BookAStar
public void SetupHubConnection()
{
if (chatHubConnection != null)
chatHubConnection.Dispose();
chatHubConnection = new HubConnection(Constants.SignalRHubsUrl);
chatHubConnection.Error += ChatHubConnection_Error;
@ -367,7 +371,7 @@ namespace BookAStar
DataManager.Instance.ChatUsers.OnPrivateMessage(msg);
});
}
public static void StopHubConnection()
public static void StopConnection()
{
try
{
@ -385,18 +389,13 @@ namespace BookAStar
}
private void MainSettings_UserChanged(object sender, EventArgs e)
{
if (chatHubConnection != null)
{
chatHubConnection.Dispose();
chatHubConnection = null;
chatHubProxy = null;
}
StopConnection();
if (MainSettings.CurrentUser != null)
{
var token = MainSettings.CurrentUser.YavscTokens.AccessToken;
SetupHubConnection();
chatHubConnection.Headers.Add("Authorization", $"Bearer {token}");
}
StartConnexion();
}
private void ChatHubConnection_Error(Exception obj)

@ -26,6 +26,11 @@ namespace BookAStar.Pages.UserProfile
}
public async void OnRefreshQuery(object sender, EventArgs e)
{
// TODO disable the button when current user is not registered
if (MainSettings.CurrentUser==null)
ShowPage<AccountChooserPage>(null, true);
else
{
IsBusy = true;
using (var client = UserHelpers.CreateJsonClient())
@ -55,6 +60,8 @@ namespace BookAStar.Pages.UserProfile
IsBusy = false;
}
}
public void OnManageFiles(object sender, EventArgs e)
{
ShowPage<UserFiles>(null, true);

Loading…