mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Sketch out the backup restore view.
This commit is contained in:
parent
5c0d98b83a
commit
5010b027b1
9 changed files with 166 additions and 30 deletions
|
@ -57,6 +57,7 @@
|
||||||
34386A54207D271D009F5D9C /* NeverClearView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34386A53207D271C009F5D9C /* NeverClearView.swift */; };
|
34386A54207D271D009F5D9C /* NeverClearView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34386A53207D271C009F5D9C /* NeverClearView.swift */; };
|
||||||
343A65951FC47D5E000477A1 /* DebugUISyncMessages.m in Sources */ = {isa = PBXBuildFile; fileRef = 343A65941FC47D5E000477A1 /* DebugUISyncMessages.m */; };
|
343A65951FC47D5E000477A1 /* DebugUISyncMessages.m in Sources */ = {isa = PBXBuildFile; fileRef = 343A65941FC47D5E000477A1 /* DebugUISyncMessages.m */; };
|
||||||
343A65981FC4CFE7000477A1 /* ConversationScrollButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 343A65961FC4CFE6000477A1 /* ConversationScrollButton.m */; };
|
343A65981FC4CFE7000477A1 /* ConversationScrollButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 343A65961FC4CFE6000477A1 /* ConversationScrollButton.m */; };
|
||||||
|
3441FD9F21A3604F00BB9542 /* BackupRestoreViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3441FD9E21A3604F00BB9542 /* BackupRestoreViewController.swift */; };
|
||||||
34480B361FD0929200BC14EF /* ShareAppExtensionContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 34480B351FD0929200BC14EF /* ShareAppExtensionContext.m */; };
|
34480B361FD0929200BC14EF /* ShareAppExtensionContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 34480B351FD0929200BC14EF /* ShareAppExtensionContext.m */; };
|
||||||
34480B491FD0A60200BC14EF /* OWSMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 34480B481FD0A60200BC14EF /* OWSMath.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
34480B491FD0A60200BC14EF /* OWSMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 34480B481FD0A60200BC14EF /* OWSMath.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
34480B551FD0A7A400BC14EF /* DebugLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 34480B4D1FD0A7A300BC14EF /* DebugLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
34480B551FD0A7A400BC14EF /* DebugLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 34480B4D1FD0A7A300BC14EF /* DebugLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
|
@ -695,6 +696,7 @@
|
||||||
343A65971FC4CFE7000477A1 /* ConversationScrollButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConversationScrollButton.h; sourceTree = "<group>"; };
|
343A65971FC4CFE7000477A1 /* ConversationScrollButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConversationScrollButton.h; sourceTree = "<group>"; };
|
||||||
343D3D991E9283F100165CA4 /* BlockListUIUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlockListUIUtils.h; sourceTree = "<group>"; };
|
343D3D991E9283F100165CA4 /* BlockListUIUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlockListUIUtils.h; sourceTree = "<group>"; };
|
||||||
343D3D9A1E9283F100165CA4 /* BlockListUIUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BlockListUIUtils.m; sourceTree = "<group>"; };
|
343D3D9A1E9283F100165CA4 /* BlockListUIUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BlockListUIUtils.m; sourceTree = "<group>"; };
|
||||||
|
3441FD9E21A3604F00BB9542 /* BackupRestoreViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackupRestoreViewController.swift; sourceTree = "<group>"; };
|
||||||
34480B341FD0929200BC14EF /* ShareAppExtensionContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShareAppExtensionContext.h; sourceTree = "<group>"; };
|
34480B341FD0929200BC14EF /* ShareAppExtensionContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShareAppExtensionContext.h; sourceTree = "<group>"; };
|
||||||
34480B351FD0929200BC14EF /* ShareAppExtensionContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShareAppExtensionContext.m; sourceTree = "<group>"; };
|
34480B351FD0929200BC14EF /* ShareAppExtensionContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShareAppExtensionContext.m; sourceTree = "<group>"; };
|
||||||
34480B371FD092A900BC14EF /* SignalShareExtension-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SignalShareExtension-Bridging-Header.h"; sourceTree = "<group>"; };
|
34480B371FD092A900BC14EF /* SignalShareExtension-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SignalShareExtension-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||||
|
@ -1422,6 +1424,7 @@
|
||||||
340FC875204DAC8C007AEB0F /* Registration */ = {
|
340FC875204DAC8C007AEB0F /* Registration */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
3441FD9E21A3604F00BB9542 /* BackupRestoreViewController.swift */,
|
||||||
340FC879204DAC8C007AEB0F /* CodeVerificationViewController.h */,
|
340FC879204DAC8C007AEB0F /* CodeVerificationViewController.h */,
|
||||||
340FC877204DAC8C007AEB0F /* CodeVerificationViewController.m */,
|
340FC877204DAC8C007AEB0F /* CodeVerificationViewController.m */,
|
||||||
340FC878204DAC8C007AEB0F /* RegistrationViewController.h */,
|
340FC878204DAC8C007AEB0F /* RegistrationViewController.h */,
|
||||||
|
@ -3496,6 +3499,7 @@
|
||||||
45D308AD2049A439000189E4 /* PinEntryView.m in Sources */,
|
45D308AD2049A439000189E4 /* PinEntryView.m in Sources */,
|
||||||
340FC8B1204DAC8D007AEB0F /* BlockListViewController.m in Sources */,
|
340FC8B1204DAC8D007AEB0F /* BlockListViewController.m in Sources */,
|
||||||
45B5360E206DD8BB00D61655 /* UIResponder+OWS.swift in Sources */,
|
45B5360E206DD8BB00D61655 /* UIResponder+OWS.swift in Sources */,
|
||||||
|
3441FD9F21A3604F00BB9542 /* BackupRestoreViewController.swift in Sources */,
|
||||||
45F659821E1BE77000444429 /* NonCallKitCallUIAdaptee.swift in Sources */,
|
45F659821E1BE77000444429 /* NonCallKitCallUIAdaptee.swift in Sources */,
|
||||||
45AE48511E0732D6004D96C2 /* TurnServerInfo.swift in Sources */,
|
45AE48511E0732D6004D96C2 /* TurnServerInfo.swift in Sources */,
|
||||||
34B3F8771E8DF1700035BE1A /* ContactsPicker.swift in Sources */,
|
34B3F8771E8DF1700035BE1A /* ContactsPicker.swift in Sources */,
|
||||||
|
|
|
@ -75,9 +75,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
// Enabling backup will involve entering and registering a PIN.
|
// Enabling backup will involve entering and registering a PIN.
|
||||||
OWSTableSection *progressSection = [OWSTableSection new];
|
OWSTableSection *progressSection = [OWSTableSection new];
|
||||||
[progressSection
|
[progressSection
|
||||||
addItem:[OWSTableItem labelItemWithText:NSLocalizedString(@"SETTINGS_BACKUP_STATUS",
|
addItem:[OWSTableItem
|
||||||
@"Label for status row in the in the backup settings view.")
|
labelItemWithText:NSLocalizedString(@"SETTINGS_BACKUP_STATUS",
|
||||||
accessoryText:[self backupExportStateLocalizedDescription]]];
|
@"Label for status row in the in the backup settings view.")
|
||||||
|
accessoryText:NSStringForBackupExportState(OWSBackup.sharedManager.backupExportState)]];
|
||||||
if (OWSBackup.sharedManager.backupExportState == OWSBackupState_InProgress) {
|
if (OWSBackup.sharedManager.backupExportState == OWSBackupState_InProgress) {
|
||||||
if (OWSBackup.sharedManager.backupExportDescription) {
|
if (OWSBackup.sharedManager.backupExportDescription) {
|
||||||
[progressSection
|
[progressSection
|
||||||
|
@ -131,20 +132,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
self.contents = contents;
|
self.contents = contents;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *)backupExportStateLocalizedDescription
|
|
||||||
{
|
|
||||||
switch (OWSBackup.sharedManager.backupExportState) {
|
|
||||||
case OWSBackupState_Idle:
|
|
||||||
return NSLocalizedString(@"SETTINGS_BACKUP_STATUS_IDLE", @"Indicates that app is not backing up.");
|
|
||||||
case OWSBackupState_InProgress:
|
|
||||||
return NSLocalizedString(@"SETTINGS_BACKUP_STATUS_IN_PROGRESS", @"Indicates that app is backing up.");
|
|
||||||
case OWSBackupState_Failed:
|
|
||||||
return NSLocalizedString(@"SETTINGS_BACKUP_STATUS_FAILED", @"Indicates that the last backup failed.");
|
|
||||||
case OWSBackupState_Succeeded:
|
|
||||||
return NSLocalizedString(@"SETTINGS_BACKUP_STATUS_SUCCEEDED", @"Indicates that the last backup succeeded.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)isBackupEnabledDidChange:(UISwitch *)sender
|
- (void)isBackupEnabledDidChange:(UISwitch *)sender
|
||||||
{
|
{
|
||||||
[OWSBackup.sharedManager setIsBackupEnabled:sender.isOn];
|
[OWSBackup.sharedManager setIsBackupEnabled:sender.isOn];
|
||||||
|
|
|
@ -446,22 +446,16 @@ NSString *const kProfileView_LastPresentedDate = @"kProfileView_LastPresentedDat
|
||||||
|
|
||||||
- (void)showHomeView
|
- (void)showHomeView
|
||||||
{
|
{
|
||||||
HomeViewController *homeView = [HomeViewController new];
|
[SignalApp.sharedApp showHomeView];
|
||||||
SignalsNavigationController *navigationController =
|
|
||||||
[[SignalsNavigationController alloc] initWithRootViewController:homeView];
|
|
||||||
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
|
|
||||||
appDelegate.window.rootViewController = navigationController;
|
|
||||||
OWSAssertDebug([navigationController.topViewController isKindOfClass:[HomeViewController class]]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showBackupRestoreView
|
- (void)showBackupRestoreView
|
||||||
{
|
{
|
||||||
HomeViewController *homeView = [HomeViewController new];
|
BackupRestoreViewController *restoreView = [BackupRestoreViewController new];
|
||||||
SignalsNavigationController *navigationController =
|
[self.navigationController setViewControllers:@[
|
||||||
[[SignalsNavigationController alloc] initWithRootViewController:homeView];
|
restoreView,
|
||||||
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
|
]
|
||||||
appDelegate.window.rootViewController = navigationController;
|
animated:YES];
|
||||||
OWSAssertDebug([navigationController.topViewController isKindOfClass:[HomeViewController class]]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)checkCanImportBackup
|
- (void)checkCanImportBackup
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
//
|
||||||
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import UIKit
|
||||||
|
|
||||||
|
@objc
|
||||||
|
public class BackupRestoreViewController: OWSTableViewController {
|
||||||
|
|
||||||
|
private var backup: OWSBackup {
|
||||||
|
return AppEnvironment.shared.backup
|
||||||
|
}
|
||||||
|
|
||||||
|
override public func loadView() {
|
||||||
|
navigationItem.title = NSLocalizedString("REMINDER_2FA_NAV_TITLE", comment: "Navbar title for when user is periodically prompted to enter their registration lock PIN")
|
||||||
|
|
||||||
|
navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(didPressCancelButton))
|
||||||
|
}
|
||||||
|
|
||||||
|
override public func viewDidLoad() {
|
||||||
|
super.viewDidLoad()
|
||||||
|
|
||||||
|
NotificationCenter.default.addObserver(self,
|
||||||
|
selector: #selector(backupStateDidChange),
|
||||||
|
name: NSNotification.Name(NSNotificationNameBackupStateDidChange),
|
||||||
|
object: nil)
|
||||||
|
|
||||||
|
backup.tryToImport()
|
||||||
|
|
||||||
|
updateTableContents()
|
||||||
|
}
|
||||||
|
|
||||||
|
private func updateTableContents() {
|
||||||
|
let contents = OWSTableContents()
|
||||||
|
|
||||||
|
let section = OWSTableSection()
|
||||||
|
|
||||||
|
section.add(OWSTableItem.label(withText: NSLocalizedString("BACKUP_RESTORE_STATUS", comment: "Label for the backup restore status."), accessoryText: NSStringForBackupImportState(backup.backupImportState)))
|
||||||
|
|
||||||
|
if backup.backupImportState == .inProgress {
|
||||||
|
if let backupImportDescription = backup.backupImportDescription {
|
||||||
|
section.add(OWSTableItem.label(withText: NSLocalizedString("BACKUP_RESTORE_DESCRIPTION", comment: "Label for the backup restore description."), accessoryText: backupImportDescription))
|
||||||
|
}
|
||||||
|
|
||||||
|
if let backupImportProgress = backup.backupImportProgress {
|
||||||
|
let progressInt = backupImportProgress.floatValue * 100
|
||||||
|
let numberFormatter = NumberFormatter()
|
||||||
|
numberFormatter.numberStyle = .percent
|
||||||
|
numberFormatter.maximumFractionDigits = 0
|
||||||
|
numberFormatter.multiplier = 1
|
||||||
|
if let progressString = numberFormatter.string(from: NSNumber(value: progressInt)) {
|
||||||
|
section.add(OWSTableItem.label(withText: NSLocalizedString("BACKUP_RESTORE_PROGRESS", comment: "Label for the backup restore progress."), accessoryText: progressString))
|
||||||
|
} else {
|
||||||
|
owsFailDebug("Could not format progress: \(progressInt)")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
contents.addSection(section)
|
||||||
|
self.contents = contents
|
||||||
|
|
||||||
|
// TODO: Add cancel button.
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: Helpers
|
||||||
|
|
||||||
|
@objc
|
||||||
|
private func didPressCancelButton(sender: UIButton) {
|
||||||
|
Logger.info("")
|
||||||
|
|
||||||
|
// TODO: Cancel import.
|
||||||
|
|
||||||
|
self.dismiss(animated: true)
|
||||||
|
}
|
||||||
|
|
||||||
|
private func showHomeView() {
|
||||||
|
SignalApp.shared().showHomeView()
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: - Notifications
|
||||||
|
|
||||||
|
@objc func backupStateDidChange() {
|
||||||
|
AssertIsOnMainThread()
|
||||||
|
|
||||||
|
if backup.backupImportState == .succeeded {
|
||||||
|
showHomeView()
|
||||||
|
} else {
|
||||||
|
updateTableContents()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -53,6 +53,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
+ (void)clearAllNotifications;
|
+ (void)clearAllNotifications;
|
||||||
|
|
||||||
|
- (void)showHomeView;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|
|
@ -3,9 +3,11 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#import "SignalApp.h"
|
#import "SignalApp.h"
|
||||||
|
#import "AppDelegate.h"
|
||||||
#import "ConversationViewController.h"
|
#import "ConversationViewController.h"
|
||||||
#import "HomeViewController.h"
|
#import "HomeViewController.h"
|
||||||
#import "Signal-Swift.h"
|
#import "Signal-Swift.h"
|
||||||
|
#import "SignalsNavigationController.h"
|
||||||
#import <SignalCoreKit/Threading.h>
|
#import <SignalCoreKit/Threading.h>
|
||||||
#import <SignalMessaging/DebugLogger.h>
|
#import <SignalMessaging/DebugLogger.h>
|
||||||
#import <SignalMessaging/Environment.h>
|
#import <SignalMessaging/Environment.h>
|
||||||
|
@ -156,6 +158,16 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
|
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)showHomeView
|
||||||
|
{
|
||||||
|
HomeViewController *homeView = [HomeViewController new];
|
||||||
|
SignalsNavigationController *navigationController =
|
||||||
|
[[SignalsNavigationController alloc] initWithRootViewController:homeView];
|
||||||
|
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
|
||||||
|
appDelegate.window.rootViewController = navigationController;
|
||||||
|
OWSAssertDebug([navigationController.topViewController isKindOfClass:[HomeViewController class]]);
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
|
|
@ -20,6 +20,9 @@ typedef NS_ENUM(NSUInteger, OWSBackupState) {
|
||||||
OWSBackupState_Succeeded,
|
OWSBackupState_Succeeded,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
NSString *NSStringForBackupExportState(OWSBackupState state);
|
||||||
|
NSString *NSStringForBackupImportState(OWSBackupState state);
|
||||||
|
|
||||||
@class OWSBackupIO;
|
@class OWSBackupIO;
|
||||||
@class TSAttachmentPointer;
|
@class TSAttachmentPointer;
|
||||||
@class TSThread;
|
@class TSThread;
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
#import <SignalCoreKit/Randomness.h>
|
#import <SignalCoreKit/Randomness.h>
|
||||||
#import <SignalServiceKit/YapDatabaseConnection+OWS.h>
|
#import <SignalServiceKit/YapDatabaseConnection+OWS.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
NSString *const NSNotificationNameBackupStateDidChange = @"NSNotificationNameBackupStateDidChange";
|
NSString *const NSNotificationNameBackupStateDidChange = @"NSNotificationNameBackupStateDidChange";
|
||||||
|
|
||||||
NSString *const OWSPrimaryStorage_OWSBackupCollection = @"OWSPrimaryStorage_OWSBackupCollection";
|
NSString *const OWSPrimaryStorage_OWSBackupCollection = @"OWSPrimaryStorage_OWSBackupCollection";
|
||||||
|
@ -17,7 +19,36 @@ NSString *const OWSBackup_IsBackupEnabledKey = @"OWSBackup_IsBackupEnabledKey";
|
||||||
NSString *const OWSBackup_LastExportSuccessDateKey = @"OWSBackup_LastExportSuccessDateKey";
|
NSString *const OWSBackup_LastExportSuccessDateKey = @"OWSBackup_LastExportSuccessDateKey";
|
||||||
NSString *const OWSBackup_LastExportFailureDateKey = @"OWSBackup_LastExportFailureDateKey";
|
NSString *const OWSBackup_LastExportFailureDateKey = @"OWSBackup_LastExportFailureDateKey";
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NSString *NSStringForBackupExportState(OWSBackupState state)
|
||||||
|
{
|
||||||
|
switch (state) {
|
||||||
|
case OWSBackupState_Idle:
|
||||||
|
return NSLocalizedString(@"SETTINGS_BACKUP_STATUS_IDLE", @"Indicates that app is not backing up.");
|
||||||
|
case OWSBackupState_InProgress:
|
||||||
|
return NSLocalizedString(@"SETTINGS_BACKUP_STATUS_IN_PROGRESS", @"Indicates that app is backing up.");
|
||||||
|
case OWSBackupState_Failed:
|
||||||
|
return NSLocalizedString(@"SETTINGS_BACKUP_STATUS_FAILED", @"Indicates that the last backup failed.");
|
||||||
|
case OWSBackupState_Succeeded:
|
||||||
|
return NSLocalizedString(@"SETTINGS_BACKUP_STATUS_SUCCEEDED", @"Indicates that the last backup succeeded.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NSString *NSStringForBackupImportState(OWSBackupState state)
|
||||||
|
{
|
||||||
|
switch (state) {
|
||||||
|
case OWSBackupState_Idle:
|
||||||
|
return NSLocalizedString(@"SETTINGS_BACKUP_IMPORT_STATUS_IDLE", @"Indicates that app is not restoring up.");
|
||||||
|
case OWSBackupState_InProgress:
|
||||||
|
return NSLocalizedString(
|
||||||
|
@"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS", @"Indicates that app is restoring up.");
|
||||||
|
case OWSBackupState_Failed:
|
||||||
|
return NSLocalizedString(
|
||||||
|
@"SETTINGS_BACKUP_IMPORT_STATUS_FAILED", @"Indicates that the last backup restore failed.");
|
||||||
|
case OWSBackupState_Succeeded:
|
||||||
|
return NSLocalizedString(
|
||||||
|
@"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED", @"Indicates that the last backup restore succeeded.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: Observe Reachability.
|
// TODO: Observe Reachability.
|
||||||
@interface OWSBackup () <OWSBackupJobDelegate>
|
@interface OWSBackup () <OWSBackupJobDelegate>
|
||||||
|
|
|
@ -1949,6 +1949,18 @@
|
||||||
/* Label for switch in settings that controls whether or not backup is enabled. */
|
/* Label for switch in settings that controls whether or not backup is enabled. */
|
||||||
"SETTINGS_BACKUP_ENABLING_SWITCH" = "Backup Enabled";
|
"SETTINGS_BACKUP_ENABLING_SWITCH" = "Backup Enabled";
|
||||||
|
|
||||||
|
/* Indicates that the last backup restore failed. */
|
||||||
|
"SETTINGS_BACKUP_IMPORT_STATUS_FAILED" = "Backup Restore Failed";
|
||||||
|
|
||||||
|
/* Indicates that app is not restoring up. */
|
||||||
|
"SETTINGS_BACKUP_IMPORT_STATUS_IDLE" = "Backup Restore Idle";
|
||||||
|
|
||||||
|
/* Indicates that app is restoring up. */
|
||||||
|
"SETTINGS_BACKUP_IMPORT_STATUS_IN_PROGRESS" = "Backup Restore In Progress";
|
||||||
|
|
||||||
|
/* Indicates that the last backup restore succeeded. */
|
||||||
|
"SETTINGS_BACKUP_IMPORT_STATUS_SUCCEEDED" = "Backup Restore Succeeded";
|
||||||
|
|
||||||
/* Label for phase row in the in the backup settings view. */
|
/* Label for phase row in the in the backup settings view. */
|
||||||
"SETTINGS_BACKUP_PHASE" = "Phase";
|
"SETTINGS_BACKUP_PHASE" = "Phase";
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue