1
0
mirror of https://github.com/bitwarden/mobile.git synced 2024-10-01 04:27:39 +02:00

clear push token after logout

This commit is contained in:
Kyle Spearrin 2016-08-06 15:21:59 -04:00
parent 638b3288b4
commit 35da8dd4ed
3 changed files with 10 additions and 18 deletions

View File

@ -9,6 +9,6 @@ namespace Bit.App.Abstractions
public interface IDeviceApiRepository : IApiRepository<DeviceRequest, DeviceResponse, string> public interface IDeviceApiRepository : IApiRepository<DeviceRequest, DeviceResponse, string>
{ {
Task<ApiResult<DeviceResponse>> PutTokenAsync(string identifier, DeviceTokenRequest request); Task<ApiResult<DeviceResponse>> PutTokenAsync(string identifier, DeviceTokenRequest request);
Task<ApiResult<DeviceResponse>> PutClearTokenAsync(string identifier); Task<ApiResult> PutClearTokenAsync(string identifier);
} }
} }

View File

@ -184,13 +184,6 @@ namespace Bit.App
private async void Logout(string logoutMessage) private async void Logout(string logoutMessage)
{ {
var deviceApiRepository = Resolver.Resolve<IDeviceApiRepository>();
var appIdService = Resolver.Resolve<IAppIdService>();
_pushNotification.Unregister();
_settings.Remove(Constants.PushLastRegistrationDate);
await deviceApiRepository.PutClearTokenAsync(appIdService.AppId);
_authService.LogOut(); _authService.LogOut();
_googleAnalyticsService.TrackAppEvent("LoggedOut"); _googleAnalyticsService.TrackAppEvent("LoggedOut");
@ -201,6 +194,12 @@ namespace Bit.App
{ {
_userDialogs.Toast(logoutMessage); _userDialogs.Toast(logoutMessage);
} }
var deviceApiRepository = Resolver.Resolve<IDeviceApiRepository>();
var appIdService = Resolver.Resolve<IAppIdService>();
_pushNotification.Unregister();
_settings.Remove(Constants.PushLastRegistrationDate);
await Task.Run(() => deviceApiRepository.PutClearTokenAsync(appIdService.AppId)).ConfigureAwait(false);
} }
private async Task CheckLockAsync(bool forceLock) private async Task CheckLockAsync(bool forceLock)

View File

@ -43,11 +43,11 @@ namespace Bit.App.Repositories
} }
} }
public virtual async Task<ApiResult<DeviceResponse>> PutClearTokenAsync(string identifier) public virtual async Task<ApiResult> PutClearTokenAsync(string identifier)
{ {
if(!Connectivity.IsConnected) if(!Connectivity.IsConnected)
{ {
return HandledNotConnected<DeviceResponse>(); return HandledNotConnected();
} }
using(var client = new ApiHttpClient()) using(var client = new ApiHttpClient())
@ -59,14 +59,7 @@ namespace Bit.App.Repositories
}; };
var response = await client.SendAsync(requestMessage); var response = await client.SendAsync(requestMessage);
if(!response.IsSuccessStatusCode) return ApiResult.Success(response.StatusCode);
{
return await HandleErrorAsync<DeviceResponse>(response);
}
var responseContent = await response.Content.ReadAsStringAsync();
var responseObj = JsonConvert.DeserializeObject<DeviceResponse>(responseContent);
return ApiResult<DeviceResponse>.Success(responseObj, response.StatusCode);
} }
} }
} }