forked from organicmaps/organicmaps
[themes] [ios] Exposed settings to Swift.
This commit is contained in:
parent
a4bb6de110
commit
7f4370fdb2
9 changed files with 41 additions and 18 deletions
|
@ -14,6 +14,7 @@
|
|||
#import "MWMPushNotifications.h"
|
||||
#import "MWMRouter.h"
|
||||
#import "MWMSearchNoResults.h"
|
||||
#import "MWMSettings.h"
|
||||
#import "MWMTableViewCell.h"
|
||||
#import "MWMTypes.h"
|
||||
#import "MWMViewController.h"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#import "MWMNavigationDashboardEntity.h"
|
||||
#import "MWMCommon.h"
|
||||
#import "MWMCoreUnits.h"
|
||||
#import "MWMLocationManager.h"
|
||||
#import "MWMSettings.h"
|
||||
#import "MapsAppDelegate.h"
|
||||
|
@ -111,13 +112,13 @@ UIImage * image(routing::turns::TurnDirection t, bool isNextTurn)
|
|||
CLLocation * lastLocation = [MWMLocationManager lastLocation];
|
||||
if (!lastLocation || lastLocation.speed < 0)
|
||||
return nil;
|
||||
auto const units = [MWMSettings measurementUnits];
|
||||
auto const units = coreUnits([MWMSettings measurementUnits]);
|
||||
return @(measurement_utils::FormatSpeed(lastLocation.speed, units).c_str());
|
||||
}
|
||||
|
||||
- (NSString *)speedUnits
|
||||
{
|
||||
auto const units = [MWMSettings measurementUnits];
|
||||
auto const units = coreUnits([MWMSettings measurementUnits]);
|
||||
return @(measurement_utils::FormatSpeedUnits(units).c_str());
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
typedef void (^TMWMVoidBlock)();
|
||||
typedef void (^MWMStringBlock)(NSString *);
|
||||
|
||||
|
||||
typedef NS_ENUM(NSUInteger, MWMUnits) { MWMUnitsMetric, MWMUnitsImperial };
|
||||
|
||||
typedef NS_ENUM(NSUInteger, MWMRouterType) {
|
||||
MWMRouterTypeVehicle,
|
||||
MWMRouterTypePedestrian,
|
||||
|
|
19
iphone/Maps/Core/Settings/MWMCoreUnits.h
Normal file
19
iphone/Maps/Core/Settings/MWMCoreUnits.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
#include "platform/measurement_utils.hpp"
|
||||
|
||||
static inline measurement_utils::Units coreUnits(MWMUnits units)
|
||||
{
|
||||
switch (units)
|
||||
{
|
||||
case MWMUnitsMetric: return measurement_utils::Units::Metric;
|
||||
case MWMUnitsImperial: return measurement_utils::Units::Imperial;
|
||||
}
|
||||
}
|
||||
|
||||
static inline MWMUnits mwmUnits(measurement_utils::Units units)
|
||||
{
|
||||
switch (units)
|
||||
{
|
||||
case measurement_utils::Units::Metric: return MWMUnitsMetric;
|
||||
case measurement_utils::Units::Imperial: return MWMUnitsImperial;
|
||||
}
|
||||
}
|
|
@ -1,7 +1,3 @@
|
|||
#import "SwiftBridge.h"
|
||||
|
||||
#include "platform/measurement_utils.hpp"
|
||||
|
||||
@interface MWMSettings : NSObject
|
||||
|
||||
+ (BOOL)adServerForbidden;
|
||||
|
@ -13,8 +9,8 @@
|
|||
+ (BOOL)autoDownloadEnabled;
|
||||
+ (void)setAutoDownloadEnabled:(BOOL)autoDownloadEnabled;
|
||||
|
||||
+ (measurement_utils::Units)measurementUnits;
|
||||
+ (void)setMeasurementUnits:(measurement_utils::Units)measurementUnits;
|
||||
+ (MWMUnits)measurementUnits;
|
||||
+ (void)setMeasurementUnits:(MWMUnits)measurementUnits;
|
||||
|
||||
+ (BOOL)zoomButtonsEnabled;
|
||||
+ (void)setZoomButtonsEnabled:(BOOL)zoomButtonsEnabled;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#import "MWMSettings.h"
|
||||
#import "MWMCoreUnits.h"
|
||||
#import "MWMMapViewControlsManager.h"
|
||||
#import "MapsAppDelegate.h"
|
||||
|
||||
|
@ -60,16 +61,16 @@ NSString * const kSpotlightLocaleLanguageId = @"SpotlightLocaleLanguageId";
|
|||
settings::Set(kAutoDownloadEnabledKey, static_cast<bool>(autoDownloadEnabled));
|
||||
}
|
||||
|
||||
+ (measurement_utils::Units)measurementUnits
|
||||
+ (MWMUnits)measurementUnits
|
||||
{
|
||||
auto units = measurement_utils::Units::Metric;
|
||||
UNUSED_VALUE(settings::Get(settings::kMeasurementUnits, units));
|
||||
return units;
|
||||
return mwmUnits(units);
|
||||
}
|
||||
|
||||
+ (void)setMeasurementUnits:(measurement_utils::Units)measurementUnits
|
||||
+ (void)setMeasurementUnits:(MWMUnits)measurementUnits
|
||||
{
|
||||
settings::Set(settings::kMeasurementUnits, measurementUnits);
|
||||
settings::Set(settings::kMeasurementUnits, coreUnits(measurementUnits));
|
||||
GetFramework().SetupMeasurementSystem();
|
||||
}
|
||||
|
||||
|
|
|
@ -1722,6 +1722,7 @@
|
|||
34F73FA11E08300E00AC1FD6 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
34F7422F1E0834F400AC1FD6 /* UIViewController+Navigation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+Navigation.h"; sourceTree = "<group>"; };
|
||||
34F742301E0834F400AC1FD6 /* UIViewController+Navigation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "UIViewController+Navigation.mm"; sourceTree = "<group>"; };
|
||||
34FB47581E3B928D00D94ED8 /* MWMCoreUnits.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MWMCoreUnits.h; sourceTree = "<group>"; };
|
||||
34FE4C431BCC013500066718 /* MWMMapWidgets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWMMapWidgets.h; sourceTree = "<group>"; };
|
||||
34FE4C441BCC013500066718 /* MWMMapWidgets.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MWMMapWidgets.mm; sourceTree = "<group>"; };
|
||||
3DDB4BC31DAB98F000F4D021 /* libpartners_api.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpartners_api.a; path = "../../../omim-xcode-build/Debug-iphonesimulator/libpartners_api.a"; sourceTree = "<group>"; };
|
||||
|
@ -2630,6 +2631,7 @@
|
|||
children = (
|
||||
340475401E081A4600C92850 /* MWMSettings.h */,
|
||||
340475411E081A4600C92850 /* MWMSettings.mm */,
|
||||
34FB47581E3B928D00D94ED8 /* MWMCoreUnits.h */,
|
||||
);
|
||||
path = Settings;
|
||||
sourceTree = "<group>";
|
||||
|
|
|
@ -74,8 +74,8 @@ extern NSString * const kAlohalyticsTapEventKey;
|
|||
NSString * units = nil;
|
||||
switch ([MWMSettings measurementUnits])
|
||||
{
|
||||
case measurement_utils::Units::Metric: units = L(@"kilometres"); break;
|
||||
case measurement_utils::Units::Imperial: units = L(@"miles"); break;
|
||||
case MWMUnitsMetric: units = L(@"kilometres"); break;
|
||||
case MWMUnitsImperial: units = L(@"miles"); break;
|
||||
}
|
||||
[self.unitsCell configWithTitle:L(@"measurement_units") info:units];
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
|
||||
switch ([MWMSettings measurementUnits])
|
||||
{
|
||||
case measurement_utils::Units::Metric: self.selectedCell = self.kilometers; break;
|
||||
case measurement_utils::Units::Imperial: self.selectedCell = self.miles; break;
|
||||
case MWMUnitsMetric: self.selectedCell = self.kilometers; break;
|
||||
case MWMUnitsImperial: self.selectedCell = self.miles; break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,13 +39,13 @@
|
|||
{
|
||||
[Statistics logEvent:kStatEventName(kStatSettings, kStatChangeMeasureUnits)
|
||||
withParameters:@{kStatValue : kStatKilometers}];
|
||||
[MWMSettings setMeasurementUnits:measurement_utils::Units::Metric];
|
||||
[MWMSettings setMeasurementUnits:MWMUnitsMetric];
|
||||
}
|
||||
else
|
||||
{
|
||||
[Statistics logEvent:kStatEventName(kStatSettings, kStatChangeMeasureUnits)
|
||||
withParameters:@{kStatValue : kStatMiles}];
|
||||
[MWMSettings setMeasurementUnits:measurement_utils::Units::Imperial];
|
||||
[MWMSettings setMeasurementUnits:MWMUnitsImperial];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue