Bladeren bron

networkLogin : Plex ability to save and use a account without specify an url

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
Pierre SAGASPE 10 jaren geleden
bovenliggende
commit
572b3072b4
2 gewijzigde bestanden met toevoegingen van 17 en 1 verwijderingen
  1. 13 1
      Sources/VLCNetworkLoginViewController.m
  2. 4 0
      Sources/VLCPlexParser.m

+ 13 - 1
Sources/VLCNetworkLoginViewController.m

@@ -241,6 +241,15 @@
     else
         service = [NSString stringWithFormat:@"%@://%@",
                    scheme, server];
+
+    if ([scheme isEqualToString:@"plex"]) {
+        if ([server isEqualToString:@""])
+            service = [service stringByAppendingString:@"Account"];
+        else
+            if ([port isEqualToString:@""])
+                service = [service stringByAppendingString:@":32400"];
+    }
+
     [_serverList addObject:service];
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     [defaults setObject:_serverList forKey:kVLCStoredServerList];
@@ -385,7 +394,10 @@ forRowAtIndexPath:(NSIndexPath *)indexPath
     self.protocolSegmentedControl.selectedSegmentIndex = self.serverProtocol;
     [self protocolSelectionChanged:nil];
 
-    self.serverField.text = service.host;
+    if ([service.host isEqualToString:@"Account"])
+        self.serverField.text = @"";
+    else
+        self.serverField.text = service.host;
     self.portField.text = [service.port stringValue];
 
     NSArray *accounts = [SSKeychain accountsForService:serviceString];

+ 4 - 0
Sources/VLCPlexParser.m

@@ -55,6 +55,10 @@
         if([responseString rangeOfString:@"Unauthorized"].location != NSNotFound) {
             NSString *serviceString = [NSString stringWithFormat:@"plex://%@%@", address, port];
             NSArray *accounts = [SSKeychain accountsForService:serviceString];
+            if (!accounts) {
+                serviceString = @"plex://Account";
+                accounts = [SSKeychain accountsForService:serviceString];
+            }
             if (accounts) {
                 NSDictionary *account = [accounts firstObject];
                 NSString *username = [account objectForKey:@"acct"];