diff --git a/docs/Classes.html b/docs/Classes.html index ce3f6dc..8d79692 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -157,7 +157,7 @@

Declaration

HBTSProvider is the class used to represent a provider. You should subclass HBTSProvider in your provider bundle, and then set it as the principal class in the Info.plist. A provider -class is required even if it doesn’t implement any methods on its own.

+class is required even if it doesn’t implement any methods on its own.

See more
@@ -223,7 +223,7 @@

Declaration

diff --git a/docs/Classes/HBTSNotification.html b/docs/Classes/HBTSNotification.html index d1bc04c..f43ddf7 100644 --- a/docs/Classes/HBTSNotification.html +++ b/docs/Classes/HBTSNotification.html @@ -211,8 +211,9 @@

Return Value

-

Initialises and returns an HBTSNotification with the provided serialized notification dictionary. -Used by TypeStatus Plus when internally deserializing a notification to be displayed.

+

Initialises and returns an HBTSNotification with the provided serialized notification dictionary.

+ +

Used by TypeStatus when internally deserializing a notification to be displayed.

See

dictionaryRepresentation @@ -224,12 +225,13 @@

Return Value

Declaration

Objective-C

-
- (nonnull instancetype)initWithDictionary:(nonnull NSDictionary *)dictionary;
+
- (nonnull instancetype)initWithDictionary:
+    (nonnull NSDictionary<NSString *, id> *)dictionary;

Swift

-
init(dictionary: [AnyHashable : Any])
+
init(dictionary: [String : Any])
@@ -272,8 +274,9 @@

Return Value

-

Serializes the notification into a dictionary. Used by TypeStatus Plus internally to prepare the -notification to be sent to other processes.

+

Serializes the notification into a dictionary.

+ +

Used by TypeStatus Plus internally to prepare the notification to be sent to other processes.

See

initWithDictionary: @@ -285,12 +288,12 @@

Return Value

Declaration

Objective-C

-
- (nonnull NSDictionary *)dictionaryRepresentation;
+
- (nonnull NSDictionary<NSString *, id> *)dictionaryRepresentation;

Swift

-
func dictionaryRepresentation() -> [AnyHashable : Any]
+
func dictionaryRepresentation() -> [String : Any]
@@ -311,7 +314,7 @@

Declaration

The bundle identifier of the app this notification originates from, or nil to have this property -automatically determined by TypeStatus based on the provider’s matching app identifier.

+automatically determined by TypeStatus based on the provider’s matching app identifier.

See

-[HBTSProvider appIdentifier] @@ -415,7 +418,9 @@

Declaration

The date the notification originated. Displayed in Notification Center bulletins.

-

The default value is the timestamp that the HBTSNotification was initialised.

+

The default value is the timestamp of when the HBTSNotification was initialised. Notifications +with a date more than a minute in the past will be ignored to avoid confusing the user, and to +prevent many old notifications appearing at once when the device regains an internet connection.

@@ -509,7 +514,7 @@

Declaration

diff --git a/docs/Classes/HBTSProvider.html b/docs/Classes/HBTSProvider.html index e360cf5..ef6f388 100644 --- a/docs/Classes/HBTSProvider.html +++ b/docs/Classes/HBTSProvider.html @@ -104,7 +104,7 @@

HBTSProvider

HBTSProvider is the class used to represent a provider. You should subclass HBTSProvider in your provider bundle, and then set it as the principal class in the Info.plist. A provider -class is required even if it doesn’t implement any methods on its own.

+class is required even if it doesn’t implement any methods on its own.

@@ -113,44 +113,6 @@

HBTSProvider

    -
  • -
    - - - - name - -
    -
    -
    -
    -
    -
    -

    The name of the provider, to display in the TypeStatus Plus settings. This typically does not -need to be set, and will be populated with the app name corresponding to appIdentifier.

    -
    -

    See

    - appIdentifier - -
    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, retain, nonatomic) NSString *_Nonnull name;
    - -
    -
    -

    Swift

    -
    var name: String { get set }
    - -
    -
    -
    -
    -
  • @@ -166,7 +128,7 @@

    Declaration

    The bundle identifier of the app corresponding to this provider. This typically does not need to be set, and will be populated by the HBTSApplicationBundleIdentifier value provided in the -provider’s Info.plist.

    +provider’s Info.plist.

    @@ -291,10 +253,10 @@

    Declaration

    Indicates whether the user has enabled the provider.

    -

    If TypeStatus Plus is disabled by the user, this property is set to NO. If a custom preference -list controller is used, this property is set to YES and you are expected to handle enabled -state separately from TypeStatus Plus. Otherwise, this property is the enabled state of this -provider as configured by the user.

    +

    If TypeStatus is disabled by the user, this property is set to NO. If a custom preference list +controller is used, this property is set to YES and you are expected to handle enabled state +separately from TypeStatus. Otherwise, this property is the enabled state of this provider as +configured by the user.

    @@ -415,7 +377,7 @@

    Declaration

    diff --git a/docs/Classes/HBTSProviderController.html b/docs/Classes/HBTSProviderController.html index f65b3e5..407d05f 100644 --- a/docs/Classes/HBTSProviderController.html +++ b/docs/Classes/HBTSProviderController.html @@ -177,7 +177,8 @@

    Return Value

    Declaration

    Objective-C

    -
    @property (readonly, retain, nonatomic) NSSet *_Nonnull providers;
    +
    @property (readonly, retain, nonatomic)
    +    NSSet<HBTSProvider *> *_Nonnull providers;
    @@ -214,13 +215,13 @@

    Declaration

    Declaration

    Objective-C

    -
    - (nonnull HBTSProvider *)providerForAppIdentifier:
    +                          
    - (nullable HBTSProvider *)providerForAppIdentifier:
         (nonnull NSString *)appIdentifier;

    Swift

    -
    func provider(forAppIdentifier appIdentifier: String) -> HBTSProvider
    +
    func provider(forAppIdentifier appIdentifier: String) -> HBTSProvider?
    @@ -245,7 +246,7 @@

    Parameters

    Return Value

    -

    The HBTSProvider corresponding to the provider, or nil if it doesn’t exist or the +

    The HBTSProvider corresponding to the provider, or nil if it doesn’t exist or the bundle is not loaded in this process.

@@ -278,7 +279,7 @@

Declaration

Swift

-
func doesApplicationIdentifierRequireBackgrounding(_ bundleIdentifier: String) -> Bool
+
func doesApplicationRequireBackgrounding(bundleIdentifier: String) -> Bool
@@ -316,7 +317,7 @@

Return Value

diff --git a/docs/Constants.html b/docs/Constants.html index decf91b..b9c03b1 100644 --- a/docs/Constants.html +++ b/docs/Constants.html @@ -180,7 +180,7 @@

Declaration

diff --git a/docs/Enums.html b/docs/Enums.html index bb28934..5b95bcb 100644 --- a/docs/Enums.html +++ b/docs/Enums.html @@ -150,7 +150,7 @@

Declaration

diff --git a/docs/Enums/HBTSMessageType.html b/docs/Enums/HBTSMessageType.html index e9d5732..fbdcc4c 100644 --- a/docs/Enums/HBTSMessageType.html +++ b/docs/Enums/HBTSMessageType.html @@ -252,7 +252,7 @@

Declaration

diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes.html index ce3f6dc..8d79692 100644 --- a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes.html @@ -157,7 +157,7 @@

Declaration

HBTSProvider is the class used to represent a provider. You should subclass HBTSProvider in your provider bundle, and then set it as the principal class in the Info.plist. A provider -class is required even if it doesn’t implement any methods on its own.

+class is required even if it doesn’t implement any methods on its own.

See more
@@ -223,7 +223,7 @@

Declaration

diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSNotification.html b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSNotification.html index d1bc04c..f43ddf7 100644 --- a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSNotification.html +++ b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSNotification.html @@ -211,8 +211,9 @@

Return Value

-

Initialises and returns an HBTSNotification with the provided serialized notification dictionary. -Used by TypeStatus Plus when internally deserializing a notification to be displayed.

+

Initialises and returns an HBTSNotification with the provided serialized notification dictionary.

+ +

Used by TypeStatus when internally deserializing a notification to be displayed.

See

dictionaryRepresentation @@ -224,12 +225,13 @@

Return Value

Declaration

Objective-C

-
- (nonnull instancetype)initWithDictionary:(nonnull NSDictionary *)dictionary;
+
- (nonnull instancetype)initWithDictionary:
+    (nonnull NSDictionary<NSString *, id> *)dictionary;

Swift

-
init(dictionary: [AnyHashable : Any])
+
init(dictionary: [String : Any])
@@ -272,8 +274,9 @@

Return Value

-

Serializes the notification into a dictionary. Used by TypeStatus Plus internally to prepare the -notification to be sent to other processes.

+

Serializes the notification into a dictionary.

+ +

Used by TypeStatus Plus internally to prepare the notification to be sent to other processes.

See

initWithDictionary: @@ -285,12 +288,12 @@

Return Value

Declaration

Objective-C

-
- (nonnull NSDictionary *)dictionaryRepresentation;
+
- (nonnull NSDictionary<NSString *, id> *)dictionaryRepresentation;

Swift

-
func dictionaryRepresentation() -> [AnyHashable : Any]
+
func dictionaryRepresentation() -> [String : Any]
@@ -311,7 +314,7 @@

Declaration

The bundle identifier of the app this notification originates from, or nil to have this property -automatically determined by TypeStatus based on the provider’s matching app identifier.

+automatically determined by TypeStatus based on the provider’s matching app identifier.

See

-[HBTSProvider appIdentifier] @@ -415,7 +418,9 @@

Declaration

The date the notification originated. Displayed in Notification Center bulletins.

-

The default value is the timestamp that the HBTSNotification was initialised.

+

The default value is the timestamp of when the HBTSNotification was initialised. Notifications +with a date more than a minute in the past will be ignored to avoid confusing the user, and to +prevent many old notifications appearing at once when the device regains an internet connection.

@@ -509,7 +514,7 @@

Declaration

diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSProvider.html b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSProvider.html index e360cf5..ef6f388 100644 --- a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSProvider.html +++ b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSProvider.html @@ -104,7 +104,7 @@

HBTSProvider

HBTSProvider is the class used to represent a provider. You should subclass HBTSProvider in your provider bundle, and then set it as the principal class in the Info.plist. A provider -class is required even if it doesn’t implement any methods on its own.

+class is required even if it doesn’t implement any methods on its own.

@@ -113,44 +113,6 @@

HBTSProvider

    -
  • -
    - - - - name - -
    -
    -
    -
    -
    -
    -

    The name of the provider, to display in the TypeStatus Plus settings. This typically does not -need to be set, and will be populated with the app name corresponding to appIdentifier.

    -
    -

    See

    - appIdentifier - -
    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, retain, nonatomic) NSString *_Nonnull name;
    - -
    -
    -

    Swift

    -
    var name: String { get set }
    - -
    -
    -
    -
    -
  • @@ -166,7 +128,7 @@

    Declaration

    The bundle identifier of the app corresponding to this provider. This typically does not need to be set, and will be populated by the HBTSApplicationBundleIdentifier value provided in the -provider’s Info.plist.

    +provider’s Info.plist.

    @@ -291,10 +253,10 @@

    Declaration

    Indicates whether the user has enabled the provider.

    -

    If TypeStatus Plus is disabled by the user, this property is set to NO. If a custom preference -list controller is used, this property is set to YES and you are expected to handle enabled -state separately from TypeStatus Plus. Otherwise, this property is the enabled state of this -provider as configured by the user.

    +

    If TypeStatus is disabled by the user, this property is set to NO. If a custom preference list +controller is used, this property is set to YES and you are expected to handle enabled state +separately from TypeStatus. Otherwise, this property is the enabled state of this provider as +configured by the user.

    @@ -415,7 +377,7 @@

    Declaration

    diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSProviderController.html b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSProviderController.html index f65b3e5..407d05f 100644 --- a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSProviderController.html +++ b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Classes/HBTSProviderController.html @@ -177,7 +177,8 @@

    Return Value

    Declaration

    Objective-C

    -
    @property (readonly, retain, nonatomic) NSSet *_Nonnull providers;
    +
    @property (readonly, retain, nonatomic)
    +    NSSet<HBTSProvider *> *_Nonnull providers;
    @@ -214,13 +215,13 @@

    Declaration

    Declaration

    Objective-C

    -
    - (nonnull HBTSProvider *)providerForAppIdentifier:
    +                          
    - (nullable HBTSProvider *)providerForAppIdentifier:
         (nonnull NSString *)appIdentifier;

    Swift

    -
    func provider(forAppIdentifier appIdentifier: String) -> HBTSProvider
    +
    func provider(forAppIdentifier appIdentifier: String) -> HBTSProvider?
    @@ -245,7 +246,7 @@

    Parameters

    Return Value

    -

    The HBTSProvider corresponding to the provider, or nil if it doesn’t exist or the +

    The HBTSProvider corresponding to the provider, or nil if it doesn’t exist or the bundle is not loaded in this process.

@@ -278,7 +279,7 @@

Declaration

Swift

-
func doesApplicationIdentifierRequireBackgrounding(_ bundleIdentifier: String) -> Bool
+
func doesApplicationRequireBackgrounding(bundleIdentifier: String) -> Bool
@@ -316,7 +317,7 @@

Return Value

diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Constants.html b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Constants.html index decf91b..b9c03b1 100644 --- a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Constants.html +++ b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Constants.html @@ -180,7 +180,7 @@

Declaration

diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Enums.html b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Enums.html index bb28934..5b95bcb 100644 --- a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Enums.html +++ b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Enums.html @@ -150,7 +150,7 @@

Declaration

diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Enums/HBTSMessageType.html b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Enums/HBTSMessageType.html index e9d5732..fbdcc4c 100644 --- a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Enums/HBTSMessageType.html +++ b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/Enums/HBTSMessageType.html @@ -252,7 +252,7 @@

Declaration

diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/index.html b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/index.html index 095c455..aa448d5 100644 --- a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/index.html @@ -100,11 +100,99 @@

TypeStatus

iMessage typing and read receipt indicators for the iOS status bar. https://typestatus.com/

See also: TypeStatus for Mac.

+

Creating a TypeStatus provider

+ +

Documentation is available at hbang.github.io/TypeStatus.

+ +

Make sure Opener is already installed on your device.

+ +

Theos includes headers and a linkable framework for Opener, so you don’t need to worry about copying files over from your device.

+ +

To develop a provider, create a bundle project. You can do this with a Theos makefile similar to this one:

+
INSTALL_TARGET_PROCESSES = SpringBoard
+
+include $(THEOS)/makefiles/common.mk
+
+BUNDLE_NAME = MyAwesomeProvider
+MyAwesomeProvider_FILES = XXXMyAwesomeProvider.m
+MyAwesomeProvider_INSTALL_PATH = /Library/Opener
+MyAwesomeProvider_EXTRA_FRAMEWORKS = Opener
+
+include $(THEOS_MAKE_PATH)/bundle.mk
+
+ +

A provider class subclasses from HBTSProvider. This must be the bundle’s principal class, defined in the Info.plist key NSPrincipalClass. Here is a simple example:

+
#import <TypeStatusProvider/TypeStatusProvider.h>
+
+@interface XXXMyAwesomeProvider : HBLOProvider
+
+@end
+
+
#import "XXXMyAwesomeProvider.h"
+
+@implementation XXXMyAwesomeProvider
+
+- (instancetype)init {
+    self = [super init];
+
+    if (self) {
+        // do your thing to set up your notifications here…
+    }
+
+    return self;
+}
+
+- (void)receivedNotification:(NSNotification *)notification {
+    // do your thing to get data from the notification here…
+    NSString *sender = ;
+
+    HBTSNotification *notification = [[HBTSNotification alloc] initWithType:HBTSMessageTypeTyping sender:sender iconName:nil];
+    [self showNotification:notification];
+}
+
+@end
+
+ +

Or, alternatively, just create a stub class, and use HBTSProviderController to get an instance of your provider to cal showNotification: on. For instance:

+
#import "XXXMyAwesomeProvider.h"
+
+@implementation XXXMyAwesomeProvider
+
+@end
+
+
#import "XXXMyAwesomeProvider.h"
+#import <TypeStatusProvider/TypeStatusProvider.h>
+
+%hook XXXSomeClassInTheApp
+
+- (void)messageReceived:(XXXMessage *)message {
+    %orig;
+
+    // do your thing to determine the message type and get data from the notification here…
+    if (message.isTypingMessage) {
+        NSString *sender = …;
+
+        HBTSNotification *notification = [[HBTSNotification alloc] initWithType:HBTSMessageTypeTyping sender:sender iconName:nil];
+        XXXMyAwesomeProvider *provider = (XXXMyAwesomeProvider *)[[HBTSProviderController sharedInstance] providerForAppIdentifier:@"com.example.awesomemessenger"];
+        [provider showNotification:notification];
+    }
+}
+
+%end
+
+ +

The iconName parameter can either be nil to use TypeStatus’s built-in icons for the predefined notification types, or the string of a status bar icon name, installed identically to the way you would for a libstatusbar icon.

+ +

You must also add ws.hbang.typestatus2 to the Depends: list in your control file. If Opener isn’t present on the device, your binaries will fail to load. For example:

+
Depends: mobilesubstrate, something-else, some-other-package, ws.hbang.typestatus2 (>= 2.4)
+
+ +

You should specify the current version of TypeStatus as the minimum requirement, so you can guarantee all features you use are available.

License

Licensed under the Apache License, version 2.0. Refer to LICENSE.md.

-

See About.plist and our Translations page for credits.

+

See About.plist and our Translations page for credits.

@@ -113,7 +201,7 @@

License

diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/search.json b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/search.json index 2d8fd39..8c69893 100644 --- a/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/TypeStatus.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeTyping":{"name":"HBTSMessageTypeTyping","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeTypingEnded":{"name":"HBTSMessageTypeTypingEnded","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeReadReceipt":{"name":"HBTSMessageTypeReadReceipt","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeSendingFile":{"name":"HBTSMessageTypeSendingFile","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html":{"name":"HBTSMessageType","abstract":"

Notification types natively supported by TypeStatus.

"},"Constants.html#/c:HBTSProviderController.h@kHBTSApplicationBundleIdentifierKey":{"name":"kHBTSApplicationBundleIdentifierKey","abstract":"

The Info.plist key used to retrieve the app bundle identifier. Value may be a string or array"},"Constants.html#/c:HBTSProviderController.h@kHBTSKeepApplicationAliveKey":{"name":"kHBTSKeepApplicationAliveKey","abstract":"

The Info.plist key used to determine whether the specified app must be kept alive in the"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(cm)sharedInstance":{"name":"+sharedInstance","abstract":"

Returns the singleton instance of this class.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(py)providers":{"name":"providers","abstract":"

All instances of HBTSProvider that are known in this process.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(im)providerForAppIdentifier:":{"name":"-providerForAppIdentifier:","abstract":"

Retrieves the provider corresponding to the specified app bundle identifier.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(im)doesApplicationIdentifierRequireBackgrounding:":{"name":"-doesApplicationIdentifierRequireBackgrounding:","abstract":"

Indicates whether the specified app bundle identifier is being kept active in the background by","parent_name":"HBTSProviderController"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)name":{"name":"name","abstract":"

The name of the provider, to display in the TypeStatus Plus settings. This typically does not","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)appIdentifier":{"name":"appIdentifier","abstract":"

The bundle identifier of the app corresponding to this provider. This typically does not need to","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)preferencesBundle":{"name":"preferencesBundle","abstract":"

Custom Preferences list controller bundle.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)preferencesClass":{"name":"preferencesClass","abstract":"

Custom Preferences list controller class.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)isEnabled":{"name":"isEnabled","abstract":"

Indicates whether the user has enabled the provider.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(im)showNotification:":{"name":"-showNotification:","abstract":"

Post a notification to be displayed to the user.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(im)hideNotification":{"name":"-hideNotification","abstract":"

Hide the currently displayed TypeStatus notification, if any.

","parent_name":"HBTSProvider"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)initWithType:sender:iconName:":{"name":"-initWithType:sender:iconName:","abstract":"

Initialises and returns an HBTSNotification with the type, sender, and icon name already set.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)initWithDictionary:":{"name":"-initWithDictionary:","abstract":"

Initialises and returns an HBTSNotification with the provided serialized notification dictionary.","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)dictionaryRepresentation":{"name":"-dictionaryRepresentation","abstract":"

Serializes the notification into a dictionary. Used by TypeStatus Plus internally to prepare the","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)sourceBundleID":{"name":"sourceBundleID","abstract":"

The bundle identifier of the app this notification originates from, or nil to have this property","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)content":{"name":"content","abstract":"

The content of the notification, to be displayed to the user.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)boldRange":{"name":"boldRange","abstract":"

The portion of the content that should be displayed in bold font. This is usually the name of","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)date":{"name":"date","abstract":"

The date the notification originated. Displayed in Notification Center bulletins.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)statusBarIconName":{"name":"statusBarIconName","abstract":"

The icon to display in the status bar, or nil to not display an icon.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)actionURL":{"name":"actionURL","abstract":"

A URL to open when the user taps the notification, or nil to launch the app indicated by the","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html":{"name":"HBTSNotification","abstract":"

HBTSNotification represents a notification for TypeStatus to display. To post the notification to"},"Classes/HBTSProvider.html":{"name":"HBTSProvider","abstract":"

HBTSProvider is the class used to represent a provider. You should subclass HBTSProvider"},"Classes/HBTSProviderController.html":{"name":"HBTSProviderController","abstract":"

HBTSProviderController manages providers and provides assorted functions for providers to"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"}} \ No newline at end of file +{"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeTyping":{"name":"HBTSMessageTypeTyping","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeTypingEnded":{"name":"HBTSMessageTypeTypingEnded","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeReadReceipt":{"name":"HBTSMessageTypeReadReceipt","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeSendingFile":{"name":"HBTSMessageTypeSendingFile","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html":{"name":"HBTSMessageType","abstract":"

Notification types natively supported by TypeStatus.

"},"Constants.html#/c:HBTSProviderController.h@kHBTSApplicationBundleIdentifierKey":{"name":"kHBTSApplicationBundleIdentifierKey","abstract":"

The Info.plist key used to retrieve the app bundle identifier. Value may be a string or array"},"Constants.html#/c:HBTSProviderController.h@kHBTSKeepApplicationAliveKey":{"name":"kHBTSKeepApplicationAliveKey","abstract":"

The Info.plist key used to determine whether the specified app must be kept alive in the"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(cm)sharedInstance":{"name":"+sharedInstance","abstract":"

Returns the singleton instance of this class.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(py)providers":{"name":"providers","abstract":"

All instances of HBTSProvider that are known in this process.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(im)providerForAppIdentifier:":{"name":"-providerForAppIdentifier:","abstract":"

Retrieves the provider corresponding to the specified app bundle identifier.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(im)doesApplicationIdentifierRequireBackgrounding:":{"name":"-doesApplicationIdentifierRequireBackgrounding:","abstract":"

Indicates whether the specified app bundle identifier is being kept active in the background by","parent_name":"HBTSProviderController"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)appIdentifier":{"name":"appIdentifier","abstract":"

The bundle identifier of the app corresponding to this provider. This typically does not need to","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)preferencesBundle":{"name":"preferencesBundle","abstract":"

Custom Preferences list controller bundle.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)preferencesClass":{"name":"preferencesClass","abstract":"

Custom Preferences list controller class.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)isEnabled":{"name":"isEnabled","abstract":"

Indicates whether the user has enabled the provider.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(im)showNotification:":{"name":"-showNotification:","abstract":"

Post a notification to be displayed to the user.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(im)hideNotification":{"name":"-hideNotification","abstract":"

Hide the currently displayed TypeStatus notification, if any.

","parent_name":"HBTSProvider"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)initWithType:sender:iconName:":{"name":"-initWithType:sender:iconName:","abstract":"

Initialises and returns an HBTSNotification with the type, sender, and icon name already set.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)initWithDictionary:":{"name":"-initWithDictionary:","abstract":"

Initialises and returns an HBTSNotification with the provided serialized notification dictionary.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)dictionaryRepresentation":{"name":"-dictionaryRepresentation","abstract":"

Serializes the notification into a dictionary.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)sourceBundleID":{"name":"sourceBundleID","abstract":"

The bundle identifier of the app this notification originates from, or nil to have this property","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)content":{"name":"content","abstract":"

The content of the notification, to be displayed to the user.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)boldRange":{"name":"boldRange","abstract":"

The portion of the content that should be displayed in bold font. This is usually the name of","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)date":{"name":"date","abstract":"

The date the notification originated. Displayed in Notification Center bulletins.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)statusBarIconName":{"name":"statusBarIconName","abstract":"

The icon to display in the status bar, or nil to not display an icon.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)actionURL":{"name":"actionURL","abstract":"

A URL to open when the user taps the notification, or nil to launch the app indicated by the","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html":{"name":"HBTSNotification","abstract":"

HBTSNotification represents a notification for TypeStatus to display. To post the notification to"},"Classes/HBTSProvider.html":{"name":"HBTSProvider","abstract":"

HBTSProvider is the class used to represent a provider. You should subclass HBTSProvider"},"Classes/HBTSProviderController.html":{"name":"HBTSProviderController","abstract":"

HBTSProviderController manages providers and provides assorted functions for providers to"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"}} \ No newline at end of file diff --git a/docs/docsets/TypeStatus.docset/Contents/Resources/docSet.dsidx b/docs/docsets/TypeStatus.docset/Contents/Resources/docSet.dsidx index 717171d..fd54508 100644 Binary files a/docs/docsets/TypeStatus.docset/Contents/Resources/docSet.dsidx and b/docs/docsets/TypeStatus.docset/Contents/Resources/docSet.dsidx differ diff --git a/docs/docsets/TypeStatus.tgz b/docs/docsets/TypeStatus.tgz index 8c7518b..a57424f 100644 Binary files a/docs/docsets/TypeStatus.tgz and b/docs/docsets/TypeStatus.tgz differ diff --git a/docs/docsets/TypeStatus.xml b/docs/docsets/TypeStatus.xml index cabd5ce..5b56f67 100644 --- a/docs/docsets/TypeStatus.xml +++ b/docs/docsets/TypeStatus.xml @@ -1 +1 @@ -2.4~beta1https://hbang.github.io/TypeStatus/docsets/TypeStatus.tgz +2.4~beta2https://hbang.github.io/TypeStatus/docsets/TypeStatus.tgz diff --git a/docs/index.html b/docs/index.html index 095c455..aa448d5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -100,11 +100,99 @@

TypeStatus

iMessage typing and read receipt indicators for the iOS status bar. https://typestatus.com/

See also: TypeStatus for Mac.

+

Creating a TypeStatus provider

+ +

Documentation is available at hbang.github.io/TypeStatus.

+ +

Make sure Opener is already installed on your device.

+ +

Theos includes headers and a linkable framework for Opener, so you don’t need to worry about copying files over from your device.

+ +

To develop a provider, create a bundle project. You can do this with a Theos makefile similar to this one:

+
INSTALL_TARGET_PROCESSES = SpringBoard
+
+include $(THEOS)/makefiles/common.mk
+
+BUNDLE_NAME = MyAwesomeProvider
+MyAwesomeProvider_FILES = XXXMyAwesomeProvider.m
+MyAwesomeProvider_INSTALL_PATH = /Library/Opener
+MyAwesomeProvider_EXTRA_FRAMEWORKS = Opener
+
+include $(THEOS_MAKE_PATH)/bundle.mk
+
+ +

A provider class subclasses from HBTSProvider. This must be the bundle’s principal class, defined in the Info.plist key NSPrincipalClass. Here is a simple example:

+
#import <TypeStatusProvider/TypeStatusProvider.h>
+
+@interface XXXMyAwesomeProvider : HBLOProvider
+
+@end
+
+
#import "XXXMyAwesomeProvider.h"
+
+@implementation XXXMyAwesomeProvider
+
+- (instancetype)init {
+    self = [super init];
+
+    if (self) {
+        // do your thing to set up your notifications here…
+    }
+
+    return self;
+}
+
+- (void)receivedNotification:(NSNotification *)notification {
+    // do your thing to get data from the notification here…
+    NSString *sender = ;
+
+    HBTSNotification *notification = [[HBTSNotification alloc] initWithType:HBTSMessageTypeTyping sender:sender iconName:nil];
+    [self showNotification:notification];
+}
+
+@end
+
+ +

Or, alternatively, just create a stub class, and use HBTSProviderController to get an instance of your provider to cal showNotification: on. For instance:

+
#import "XXXMyAwesomeProvider.h"
+
+@implementation XXXMyAwesomeProvider
+
+@end
+
+
#import "XXXMyAwesomeProvider.h"
+#import <TypeStatusProvider/TypeStatusProvider.h>
+
+%hook XXXSomeClassInTheApp
+
+- (void)messageReceived:(XXXMessage *)message {
+    %orig;
+
+    // do your thing to determine the message type and get data from the notification here…
+    if (message.isTypingMessage) {
+        NSString *sender = …;
+
+        HBTSNotification *notification = [[HBTSNotification alloc] initWithType:HBTSMessageTypeTyping sender:sender iconName:nil];
+        XXXMyAwesomeProvider *provider = (XXXMyAwesomeProvider *)[[HBTSProviderController sharedInstance] providerForAppIdentifier:@"com.example.awesomemessenger"];
+        [provider showNotification:notification];
+    }
+}
+
+%end
+
+ +

The iconName parameter can either be nil to use TypeStatus’s built-in icons for the predefined notification types, or the string of a status bar icon name, installed identically to the way you would for a libstatusbar icon.

+ +

You must also add ws.hbang.typestatus2 to the Depends: list in your control file. If Opener isn’t present on the device, your binaries will fail to load. For example:

+
Depends: mobilesubstrate, something-else, some-other-package, ws.hbang.typestatus2 (>= 2.4)
+
+ +

You should specify the current version of TypeStatus as the minimum requirement, so you can guarantee all features you use are available.

License

Licensed under the Apache License, version 2.0. Refer to LICENSE.md.

-

See About.plist and our Translations page for credits.

+

See About.plist and our Translations page for credits.

@@ -113,7 +201,7 @@

License

diff --git a/docs/search.json b/docs/search.json index 2d8fd39..8c69893 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeTyping":{"name":"HBTSMessageTypeTyping","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeTypingEnded":{"name":"HBTSMessageTypeTypingEnded","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeReadReceipt":{"name":"HBTSMessageTypeReadReceipt","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeSendingFile":{"name":"HBTSMessageTypeSendingFile","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html":{"name":"HBTSMessageType","abstract":"

Notification types natively supported by TypeStatus.

"},"Constants.html#/c:HBTSProviderController.h@kHBTSApplicationBundleIdentifierKey":{"name":"kHBTSApplicationBundleIdentifierKey","abstract":"

The Info.plist key used to retrieve the app bundle identifier. Value may be a string or array"},"Constants.html#/c:HBTSProviderController.h@kHBTSKeepApplicationAliveKey":{"name":"kHBTSKeepApplicationAliveKey","abstract":"

The Info.plist key used to determine whether the specified app must be kept alive in the"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(cm)sharedInstance":{"name":"+sharedInstance","abstract":"

Returns the singleton instance of this class.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(py)providers":{"name":"providers","abstract":"

All instances of HBTSProvider that are known in this process.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(im)providerForAppIdentifier:":{"name":"-providerForAppIdentifier:","abstract":"

Retrieves the provider corresponding to the specified app bundle identifier.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(im)doesApplicationIdentifierRequireBackgrounding:":{"name":"-doesApplicationIdentifierRequireBackgrounding:","abstract":"

Indicates whether the specified app bundle identifier is being kept active in the background by","parent_name":"HBTSProviderController"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)name":{"name":"name","abstract":"

The name of the provider, to display in the TypeStatus Plus settings. This typically does not","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)appIdentifier":{"name":"appIdentifier","abstract":"

The bundle identifier of the app corresponding to this provider. This typically does not need to","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)preferencesBundle":{"name":"preferencesBundle","abstract":"

Custom Preferences list controller bundle.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)preferencesClass":{"name":"preferencesClass","abstract":"

Custom Preferences list controller class.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)isEnabled":{"name":"isEnabled","abstract":"

Indicates whether the user has enabled the provider.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(im)showNotification:":{"name":"-showNotification:","abstract":"

Post a notification to be displayed to the user.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(im)hideNotification":{"name":"-hideNotification","abstract":"

Hide the currently displayed TypeStatus notification, if any.

","parent_name":"HBTSProvider"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)initWithType:sender:iconName:":{"name":"-initWithType:sender:iconName:","abstract":"

Initialises and returns an HBTSNotification with the type, sender, and icon name already set.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)initWithDictionary:":{"name":"-initWithDictionary:","abstract":"

Initialises and returns an HBTSNotification with the provided serialized notification dictionary.","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)dictionaryRepresentation":{"name":"-dictionaryRepresentation","abstract":"

Serializes the notification into a dictionary. Used by TypeStatus Plus internally to prepare the","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)sourceBundleID":{"name":"sourceBundleID","abstract":"

The bundle identifier of the app this notification originates from, or nil to have this property","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)content":{"name":"content","abstract":"

The content of the notification, to be displayed to the user.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)boldRange":{"name":"boldRange","abstract":"

The portion of the content that should be displayed in bold font. This is usually the name of","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)date":{"name":"date","abstract":"

The date the notification originated. Displayed in Notification Center bulletins.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)statusBarIconName":{"name":"statusBarIconName","abstract":"

The icon to display in the status bar, or nil to not display an icon.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)actionURL":{"name":"actionURL","abstract":"

A URL to open when the user taps the notification, or nil to launch the app indicated by the","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html":{"name":"HBTSNotification","abstract":"

HBTSNotification represents a notification for TypeStatus to display. To post the notification to"},"Classes/HBTSProvider.html":{"name":"HBTSProvider","abstract":"

HBTSProvider is the class used to represent a provider. You should subclass HBTSProvider"},"Classes/HBTSProviderController.html":{"name":"HBTSProviderController","abstract":"

HBTSProviderController manages providers and provides assorted functions for providers to"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"}} \ No newline at end of file +{"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeTyping":{"name":"HBTSMessageTypeTyping","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeTypingEnded":{"name":"HBTSMessageTypeTypingEnded","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeReadReceipt":{"name":"HBTSMessageTypeReadReceipt","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html#/c:@E@HBTSMessageType@HBTSMessageTypeSendingFile":{"name":"HBTSMessageTypeSendingFile","abstract":"

Undocumented

","parent_name":"HBTSMessageType"},"Enums/HBTSMessageType.html":{"name":"HBTSMessageType","abstract":"

Notification types natively supported by TypeStatus.

"},"Constants.html#/c:HBTSProviderController.h@kHBTSApplicationBundleIdentifierKey":{"name":"kHBTSApplicationBundleIdentifierKey","abstract":"

The Info.plist key used to retrieve the app bundle identifier. Value may be a string or array"},"Constants.html#/c:HBTSProviderController.h@kHBTSKeepApplicationAliveKey":{"name":"kHBTSKeepApplicationAliveKey","abstract":"

The Info.plist key used to determine whether the specified app must be kept alive in the"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(cm)sharedInstance":{"name":"+sharedInstance","abstract":"

Returns the singleton instance of this class.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(py)providers":{"name":"providers","abstract":"

All instances of HBTSProvider that are known in this process.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(im)providerForAppIdentifier:":{"name":"-providerForAppIdentifier:","abstract":"

Retrieves the provider corresponding to the specified app bundle identifier.

","parent_name":"HBTSProviderController"},"Classes/HBTSProviderController.html#/c:objc(cs)HBTSProviderController(im)doesApplicationIdentifierRequireBackgrounding:":{"name":"-doesApplicationIdentifierRequireBackgrounding:","abstract":"

Indicates whether the specified app bundle identifier is being kept active in the background by","parent_name":"HBTSProviderController"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)appIdentifier":{"name":"appIdentifier","abstract":"

The bundle identifier of the app corresponding to this provider. This typically does not need to","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)preferencesBundle":{"name":"preferencesBundle","abstract":"

Custom Preferences list controller bundle.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)preferencesClass":{"name":"preferencesClass","abstract":"

Custom Preferences list controller class.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(py)isEnabled":{"name":"isEnabled","abstract":"

Indicates whether the user has enabled the provider.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(im)showNotification:":{"name":"-showNotification:","abstract":"

Post a notification to be displayed to the user.

","parent_name":"HBTSProvider"},"Classes/HBTSProvider.html#/c:objc(cs)HBTSProvider(im)hideNotification":{"name":"-hideNotification","abstract":"

Hide the currently displayed TypeStatus notification, if any.

","parent_name":"HBTSProvider"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)initWithType:sender:iconName:":{"name":"-initWithType:sender:iconName:","abstract":"

Initialises and returns an HBTSNotification with the type, sender, and icon name already set.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)initWithDictionary:":{"name":"-initWithDictionary:","abstract":"

Initialises and returns an HBTSNotification with the provided serialized notification dictionary.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(im)dictionaryRepresentation":{"name":"-dictionaryRepresentation","abstract":"

Serializes the notification into a dictionary.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)sourceBundleID":{"name":"sourceBundleID","abstract":"

The bundle identifier of the app this notification originates from, or nil to have this property","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)content":{"name":"content","abstract":"

The content of the notification, to be displayed to the user.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)boldRange":{"name":"boldRange","abstract":"

The portion of the content that should be displayed in bold font. This is usually the name of","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)date":{"name":"date","abstract":"

The date the notification originated. Displayed in Notification Center bulletins.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)statusBarIconName":{"name":"statusBarIconName","abstract":"

The icon to display in the status bar, or nil to not display an icon.

","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html#/c:objc(cs)HBTSNotification(py)actionURL":{"name":"actionURL","abstract":"

A URL to open when the user taps the notification, or nil to launch the app indicated by the","parent_name":"HBTSNotification"},"Classes/HBTSNotification.html":{"name":"HBTSNotification","abstract":"

HBTSNotification represents a notification for TypeStatus to display. To post the notification to"},"Classes/HBTSProvider.html":{"name":"HBTSProvider","abstract":"

HBTSProvider is the class used to represent a provider. You should subclass HBTSProvider"},"Classes/HBTSProviderController.html":{"name":"HBTSProviderController","abstract":"

HBTSProviderController manages providers and provides assorted functions for providers to"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"}} \ No newline at end of file