From: Editor Lionbridge Date: Fri, 28 Oct 2016 17:27:22 +0000 (+0300) Subject: [LB] General quality fixes for Guides and synch from 2.4 branch X-Git-Tag: tizen_3.0/TD_SYNC/20161201~19^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6dcbee1bf75d73dc090a77d1f44ae21f6ba7eeec;p=sdk%2Fonline-doc.git [LB] General quality fixes for Guides and synch from 2.4 branch - Synch changes from 2.4 - Minor edits to 3.0-specific content to improve and make it consistent PS2: [LB] Ambient mode pixel size fixed from 20% to 15% PS3: [LB] Additional changes due to low power mode and color restriction Change-Id: Ibdbace9c6ef32a1afa0f707787f7ba1bfbd99d74 --- diff --git a/org.tizen.guides/html/native/app_management/app_controls_n.htm b/org.tizen.guides/html/native/app_management/app_controls_n.htm index bd59f35..35e1aa1 100644 --- a/org.tizen.guides/html/native/app_management/app_controls_n.htm +++ b/org.tizen.guides/html/native/app_management/app_controls_n.htm @@ -214,6 +214,17 @@ else app_control_destroy(app_control); + + + + + + + + + +
Note
Be careful when using the explicit launch, because if the target application does not exist in the device, you need to handle the APP_CONTROL_ERROR_NOT_FOUND error. If you want to launch any application that supports a certain operation, use the implicit launch.
+

Implicit Launch

When you request an implicit launch:

@@ -383,6 +394,7 @@ static void app_control(app_control_h app_control, void *user_data)
  • Settings for Wi-Fi
  • Voice Recorder
  • +
  • VPN Service
  • Input Delegator
  • diff --git a/org.tizen.guides/html/native/app_management/common_appcontrol_n.htm b/org.tizen.guides/html/native/app_management/common_appcontrol_n.htm index 2faa9c4..0f4d81f 100644 --- a/org.tizen.guides/html/native/app_management/common_appcontrol_n.htm +++ b/org.tizen.guides/html/native/app_management/common_appcontrol_n.htm @@ -2373,8 +2373,8 @@ app_control_send_launch_request(service, NULL, NULL);

    Connecting VPNDisconnecting VPN

    Operation

    Extra Input

    @@ -2387,12 +2387,7 @@ app_control_send_launch_request(service, NULL, NULL); APP_CONTROL_DATA_TYPE - The method type. This key must be passed as a string. Available values are: - - + The method type. The available values are up (VPN interface up) and down (VPN interface down). This key must be passed as a string. This key is mandatory. @@ -2443,7 +2438,7 @@ vpn_appcontrol_result_cb(app_control_h request, app_control_h reply, app_control     switch (result) {     case APP_CONTROL_RESULT_APP_STARTED:     case APP_CONTROL_RESULT_SUCCEEDED: -      dlog_print(DLOG_INFO, LOG_TAG, "Successed!"); +      dlog_print(DLOG_INFO, LOG_TAG, "Success!");       break;     case APP_CONTROL_RESULT_FAILED:       dlog_print(DLOG_INFO, LOG_TAG, "Failed!"); diff --git a/org.tizen.guides/html/native/app_management/watch_app_n.htm b/org.tizen.guides/html/native/app_management/watch_app_n.htm index d323b91..e0713ae 100644 --- a/org.tizen.guides/html/native/app_management/watch_app_n.htm +++ b/org.tizen.guides/html/native/app_management/watch_app_n.htm @@ -68,7 +68,7 @@

    With the time handle, you can draw the UI for your watch application.

  • Managing the ambient mode

    In a low-powered wearable device, an ambient mode is available. In this mode, the watch application shows a limited UI and receives only the ambient tick event every minute to reduce power consumption.

    -

    The details of the limited UI drawn in the ambient mode depend on the device. Usually, when designing the ambient mode UI, draw a black and white UI only, and use less than 15% of the pixels on the screen. If you do not want to draw your own ambient mode UI, set the ambient-support attribute to disable in the watch application manifest file to allow the platform to show a default ambient mode UI.

    +

    The details of the limited UI drawn in the ambient mode depend on the device. In addition, due to the ambient mode being a low power mode, there are limits to the colors that can be shown on the screen. Usually, when designing the ambient mode UI, draw a black and white UI only, and use less than 15% of the pixels on the screen. If you do not want to draw your own ambient mode UI, set the ambient-support attribute to disable in the watch application manifest file to allow the platform to show a default ambient mode UI.

    Since Tizen 2.3.2, some devices introduce a high color mode for the ambient mode. In the high color mode, you can use more colors (usually, 24-bit color) for drawing the ambient mode UI.

    diff --git a/org.tizen.guides/html/native/media/media_key_n.htm b/org.tizen.guides/html/native/media/media_key_n.htm index b7775e6..5d5dce1 100644 --- a/org.tizen.guides/html/native/media/media_key_n.htm +++ b/org.tizen.guides/html/native/media/media_key_n.htm @@ -114,6 +114,7 @@ event_cb(media_key_e key, media_key_event_e status, void* user_data)         dlog_print(DLOG_INFO, LOG_TAG, "Key: Unknown");         break;     } +     switch (status) {     case MEDIA_KEY_STATUS_PRESSED:         dlog_print(DLOG_INFO, LOG_TAG, "Event: MEDIA_KEY_STATUS_PRESSED"); diff --git a/org.tizen.guides/html/native/messaging/push_n.htm b/org.tizen.guides/html/native/messaging/push_n.htm index 4845a4f..a556d2b 100644 --- a/org.tizen.guides/html/native/messaging/push_n.htm +++ b/org.tizen.guides/html/native/messaging/push_n.htm @@ -205,11 +205,19 @@ #include <push-service.h>
  • - -
  • Since Tizen 3.0, the push service supports launching an application in the background. Remember that you can deliver application data to your application without an unwanted UI launch.

    -
  • + + + + + + + + + +
    Note
    Since Tizen 3.0, the push service supports launching an application in the background. Remember that you can deliver application data to your application without an unwanted UI launch.
    +

    Connecting to the Push Service

    To request or receive push notifications, establish a socket connection to the push service. All the information regarding this connection must be controlled by a connection handle which can be defined as a global variable:

    @@ -235,7 +243,7 @@ app_create(void *data)     ret = push_service_connect(PUSH_APP_ID, _state_cb, _noti_cb, NULL, &push_conn);     if (ret != PUSH_SERVICE_ERROR_NONE) { -        dlog_print(DLOG_ERROR, LOG_TAG, "push_service_connect() Failed"); +        dlog_print(DLOG_ERROR, LOG_TAG, "push_service_connect() failed");         push_conn = NULL;         return false; @@ -256,7 +264,7 @@ app_create(void *data)

    This sample application establishes a connection to the service when it is launched and disconnects from the service when it terminates. Due to this, the push_service_connect() function is located in the app_create() function, which is called when the application is launched.

    -

    The application can be resumed after being paused. To ensure that push notifications are handled fluently, the push_service_connect() function must be located in the app_resume() function. For more information, see the following example.

    +

    The application can be resumed after being paused. To ensure that push notifications are handled fluently, the push_service_connect() function must be located in the app_resume() function:

     static void
     app_resume(void *data)
    @@ -267,7 +275,7 @@ app_resume(void *data)
         if (!push_conn) {
             ret = push_service_connect(PUSH_APP_ID, _state_cb, _noti_cb, NULL, &push_conn);
             if (ret != PUSH_SERVICE_ERROR_NONE){
    -            dlog_print(DLOG_ERROR, LOG_TAG, "ERROR : push_service_connect() is failed.");
    +            dlog_print(DLOG_ERROR, LOG_TAG, "ERROR : push_service_connect() failed.");
                 push_conn = NULL;
     
                 return;
    @@ -281,7 +289,7 @@ app_resume(void *data)
         */
         ret = push_service_request_unread_notification(push_conn);
         if (ret != PUSH_SERVICE_ERROR_NONE)
    -        dlog_print(DLOG_ERROR, LOG_TAG, "ERROR : push_service_request_unread_notification() is failed.");
    +        dlog_print(DLOG_ERROR, LOG_TAG, "ERROR : push_service_request_unread_notification() failed.");
     }
     
    @@ -308,7 +316,7 @@ app_terminate(void *data)

    The connection is automatically closed when the application terminates. Hence, if the application uses the push service while being launched, it does not need this function.

    The application can also disconnect the service in the middle of the application operation. If you add a toggle switch to the application for switching the push service on and off, call this function when the service is switched off. Do not call this function inside any push callback functions, however, since it can cause the application to crash.

    -

    The application can be paused by pressing home or back key. For a proper push operation, the push_service_disconnect() function must be located in the app_pause() function.

    +

    The application can be paused by pressing the Home or Back key. For a proper push operation, the push_service_disconnect() function must be located in the app_pause() function.

     static void
     app_pause(void *data)
    @@ -382,7 +390,7 @@ _on_state_unregistered(void *user_data)
         /* Reset the previously-stored registration ID */
         ret = preference_set_string(PUSH_HASH_KEY, "");
         if (ret != PREFERENCE_ERROR_NONE)
    -        dlog_print(DLOG_ERROR, LOG_TAG, "ERROR: Fail to initialize hash_value [%d : %s]", ret, get_error_message(ret));
    +        dlog_print(DLOG_ERROR, LOG_TAG, "ERROR: Failed to initialize hash_value [%d : %s]", ret, get_error_message(ret));
     
         /* Send a registration request to the push service */
         ret = push_service_register(push_conn, _result_cb, user_data);
    @@ -604,7 +612,7 @@ appSecret: dYo/o/m11gmWmjs7+5f+2zLNVOc=
     	

    SILENT: Store the message without alerting the user.

    DISCARD: Discard the message, if the application is not up and running.

    LAUNCH: Forcibly launch the application and deliver the notification.

    -

    BACKGROUNDLAUNCH: Launch the application in the background and deliver the notification. (Since Tizen 3.0)

    +

    BACKGROUNDLAUNCH: Launch the application in the background and deliver the notification (supported since Tizen 3.0).

    Action to be performed if the application is not running. If no action is defined, the default behavior is SILENT. @@ -752,11 +760,10 @@ app_control(app_control_h app_control, void *data)     char *value = NULL;     app_control_get_extra_data(app_control, APP_CONTROL_DATA_PUSH_LAUNCH_TYPE, &value);     if (value) { -        if (!strcmp(value, EXTRA_DATA_FROM_NOTIFICATION)) { +        if (!strcmp(value, EXTRA_DATA_FROM_NOTIFICATION))             /* Add your code here when push messages arrive */ -        } else if (!strcmp(value, EXTRA_DATA_FROM_REGISTRATION_CHANGE)) { +        else if (!strcmp(value, EXTRA_DATA_FROM_REGISTRATION_CHANGE))             /* Add your code here when registration state is changed */ -        }     } }
    @@ -764,12 +771,12 @@ app_control(app_control_h app_control, void *data)
  • Store the notification at the push service database and request it later when the application is launched.

    You need to set the action to ALERT or SILENT in the message field when sending the notification from the application server. When such a notification arrives at the device, the push service keeps the notification in the database and waits for the request from the application.

    -

    You can request for unread notifications from the push service. The request can be performed after connected to the push server when the application is launched.

    +

    You can request for unread notifications from the push service. The request can be performed after the connection to the push server when the application is launched.

     if (push_conn) {
         int ret = push_service_request_unread_notification(push_conn);
         if (ret != PUSH_SERVICE_ERROR_NONE)
    -        dlog_print(DLOG_ERROR, LOG_TAG, "ERROR: push_service_request_unread_notification() is failed.");
    +        dlog_print(DLOG_ERROR, LOG_TAG, "ERROR: push_service_request_unread_notification() failed.");
     }
     

    The difference between the ALERT and SILENT actions is that the former shows an alert message in the quick panel and changes the badge count, while the latter does not. If the user clicks the alert message in the quick panel, the push service forcibly launches the application and delivers the notification through the app control callback function.

  • diff --git a/org.tizen.guides/html/native/messaging/push_server_n.htm b/org.tizen.guides/html/native/messaging/push_server_n.htm index ebcc8b6..c10d60c 100644 --- a/org.tizen.guides/html/native/messaging/push_server_n.htm +++ b/org.tizen.guides/html/native/messaging/push_server_n.htm @@ -42,7 +42,7 @@

    Push Server

    -

    Push enables you to push events from an application server to your application on a Tizen device. If the message sending fails for any reason, an error code identifying the failure reason is returned. You can use the error code to determine how to handle the failure.

    +

    Push enables you to push events from an application server to your application on a Tizen device. You can also decorate the push notification in the quick panel. If the message sending fails for any reason, an error code identifying the failure reason is returned. You can use the error code to determine how to handle the failure.

    Warm-up

    Become familiar with the Push API basics by learning about:

    @@ -156,7 +156,7 @@

    SILENT: Store the message without alerting the user.

    DISCARD: Discard the message, if the application is not up and running.

    LAUNCH: Forcibly launch the application and deliver the notification.

    -

    BACKGROUNDLAUNCH: Launch the application in the background and deliver the notification. (Since Tizen 3.0)

    +

    BACKGROUNDLAUNCH: Launch the application in the background and deliver the notification (supported since Tizen 3.0).

    Action to be performed if the application is not running. If no action is defined, the default behavior is SILENT. @@ -623,7 +623,7 @@ appSecret: dYo/o/m11gmWmjs7+5f+2zLNVOc=

    Since Tizen 3.0, you can decorate push notifications you send from the application server to Tizen devices. For example, you can add images and sounds to the notifications. The push service creates a notification using the resources from the application and notifies the user. You can compose the push message using a set of REST APIs.

    To decorate push notifications, you have to understand the notification functions. In addition to the existing message field, more fields are provided. For more details about the functions to use to create a notification, see the Notification API (in mobile and wearable applications). When you include a key and value in the message field, the push service creates a notification as the application creates a notification using the Notification API.

    -

    Prepare all the resource files under the /shared/res folder in your application, and you directly address the resource files. For example, imageTypeIcon=image.png means the /share/res/image.png image is displayed as an icon in the notification panel. You can perform the same action by calling the notification_set_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, "image.png") function.

    +

    Prepare all the resource files under the /shared/res folder in your application, and you can directly address the resource files. For example, imageTypeIcon=image.png means that the /share/res/image.png image is displayed as an icon in the notification panel. You can perform the same action by calling the notification_set_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, "image.png") function.

    The following table lists the additional key and value pairs for the message field in notifications.

    @@ -831,31 +831,31 @@ appSecret: dYo/o/m11gmWmjs7+5f+2zLNVOc= @@ -923,7 +923,8 @@ notification&setTime=true&setTimeToText=true\"

    The following figure shows a decorated push notification.

    -

    Push Active notification

    +

    Figure: Decorated notification

    +

    Decorated notification

    Handling Error Codes

    diff --git a/org.tizen.guides/html/native/personal/fido_n.htm b/org.tizen.guides/html/native/personal/fido_n.htm index 0721c13..8851096 100644 --- a/org.tizen.guides/html/native/personal/fido_n.htm +++ b/org.tizen.guides/html/native/personal/fido_n.htm @@ -50,6 +50,8 @@

    FIDO covers both password-less authentications, such as fingerprint, iris, and voice, and multi-factor authentication, such as OTP and USB dongle. Tizen currently does not support multi-factor authentication.

    FIDO Alliance provides certification for FIDO-compliant products through FIDO Ready™.

    + +

    Before you start, remember to prepare your application to use the FIDO functionality.

    FIDO UAF Components

    UAF (Universal Authentication Framework) authenticators can be connected to a user device using various physical interfaces, such as SPI, USB, and Bluetooth. The UAF Authenticator-Specific Module (ASM) is a software interface on top of UAF authenticators, which gives a standardized way for the FIDO UAF clients to detect and access the functionality of UAF authenticators, and hides the internal communication complexity from the clients.

    @@ -102,6 +104,8 @@

    Become familiar with the FIDO Client API basics by learning about:

      +
    • Prerequisites +

      Prepare your application to use the FIDO functionality.

    • Finding the FIDO Authenticator

      Find the authenticators supported by the device.

    • diff --git a/org.tizen.guides/html/native/security/privilege_n.htm b/org.tizen.guides/html/native/security/privilege_n.htm index e4e1259..3a004cb 100644 --- a/org.tizen.guides/html/native/security/privilege_n.htm +++ b/org.tizen.guides/html/native/security/privilege_n.htm @@ -47,9 +47,9 @@
      • Privilege name: Privilege description in a simple present participle form.
      • Privilege description: Detailed information on permissions, including accessible resources and functionality, that the application can get with this privilege. It also contains information related to billing or device performance, such as cost or increase battery usage.
      • -
      • Privacy name: Privacy represents a group of privileges that are related to a certain common feature.
      • +
      • Privacy name: Privacy name represents a group of privileges that are related to a certain common feature.
      -

      From Tizen 3.0, some privileges are categorized as privacy related and you can switch those privileges on and off based on their preference. You can change certain privileges' status to allow or deny them at device runtime. This means that the application calling that privileged API can be prevented from using it even if the required privilege is declared in its manifest file. For that reason, the APIs have been added for checking the privacy related privilege's current status and getting the display name of the privacy that includes the privilege. For example, you can use these APIs to check the privilege's current status before entering a function that requires the privilege, and if the status is off, a guide message, such as "For using this function, go to the settings and turn the Calendar privacy on" is shown.

      +

      From Tizen 3.0, some privileges are categorized as privacy-related, and you can switch those privileges on and off based on the user preference. You can change certain privileges' status to allow or deny them at runtime. This means that the application calling a privileged API can be prevented from using it even if the required privilege is declared in its manifest file. Specific APIs can be used to check the privacy-related privilege's current status and get the display name of the privacy that includes the privilege. For example, you can use the APIs to check the privilege's current status before entering a function that requires the privilege, and if the status is off, display a guide message to the user to ask them to go to the device settings and switch the required privacy on.

      Before you start, remember to prepare your application to use the privilege info functionality.

      @@ -60,7 +60,7 @@
    • Prerequisites

      Prepare your application to use the privilege info functionality.

    • Getting Privilege Information -

      Get privilege information, such as the privilege description or current status in runtime.

    • +

      Get privilege information, such as the privilege description or the current status at runtime.

    Prerequisites

    @@ -119,7 +119,7 @@ int ret = privilege_info_get_privacy_display_name("http://tizen.org/privile                                                   &privacy_display_name); -
  • Get the privacy related privilege's status using the privilege_info_get_privacy_privilege_status() function: +
  • Get the privacy-related privilege's status using the privilege_info_get_privacy_privilege_status() function:
     bool status = NULL;
     int ret = privilege_info_get_privacy_privilege_status("http://tizen.org/privilege/account.read",
    diff --git a/org.tizen.guides/html/native/ui/efl/component_flipselector_mn.htm b/org.tizen.guides/html/native/ui/efl/component_flipselector_mn.htm
    index e3e6d09..c8f0554 100644
    --- a/org.tizen.guides/html/native/ui/efl/component_flipselector_mn.htm
    +++ b/org.tizen.guides/html/native/ui/efl/component_flipselector_mn.htm
    @@ -202,17 +202,17 @@ elm_flipselector_item_selected_set(flip_it, EINA_TRUE);
           
  • - + - + - + diff --git a/org.tizen.guides/html/web/sensors/task_sensorball_w.htm b/org.tizen.guides/html/web/sensors/task_sensorball_w.htm index 0e2a2dd..9f7df53 100644 --- a/org.tizen.guides/html/web/sensors/task_sensorball_w.htm +++ b/org.tizen.guides/html/web/sensors/task_sensorball_w.htm @@ -43,7 +43,7 @@

    Task: Sensor Ball

    -

    This task, based on the SensorBall sample delivered with the Tizen Studio, demonstrates how you can use the Sensor API to read and process gyro sensor data. For more information on the sample functionality and creating the sample with the full source code, see the Sensor Ball.

    +

    This task, based on the SensorBall sample delivered with the Tizen Studio, demonstrates how you can use the Sensor API to read and process gyro sensor data. For more information on the sample functionality and creating the sample with the full source code, see Sensor Ball.

    This task consists of the following parts:

    • Defining the Application Layout defines how to create the application screens.
    • diff --git a/org.tizen.guides/html/web/ui/tau/tau_porting_w.htm b/org.tizen.guides/html/web/ui/tau/tau_porting_w.htm index 433d5d7..93dc501 100644 --- a/org.tizen.guides/html/web/ui/tau/tau_porting_w.htm +++ b/org.tizen.guides/html/web/ui/tau/tau_porting_w.htm @@ -16,14 +16,13 @@
      -

      Mobile Web Wearable Web

      +

      Mobile Web

      Dependencies

      • Tizen 2.4 and Higher for Mobile
      • -
      • Tizen 2.3.1 and Higher for Wearable

      Content

      @@ -47,7 +45,7 @@

      This guide describes the changes required to migrate a TAU element from 2.3 to 2.4.

      -

      This feature is supported in mobile and wearable applications only.

      +

      This feature is supported in mobile applications only.

      As the Tizen version number changes, TAU has been updated with new features. When migrating from 2.3 to 2.4, consider the following issues:

        @@ -89,7 +87,7 @@

        Since Tizen 2.4, it is strongly recommended to use the class selector to define the components in HTML files. The "data-role" selector has been deprecated and is no longer supported.

        -

        The class selectors in TAU are composed with the "ui-" prefix and followed by the <COMPONENT_NAME>. For more information, see the UI Component API Reference (in mobile and wearable applications).

        +

        The class selectors in TAU are composed with the "ui-" prefix and followed by the <COMPONENT_NAME>. For more information, see UI Component API Reference.

        The following example shows how to define the UI components before and after:

        • Before: diff --git a/org.tizen.guides/html/web/ui/tau/tau_w.htm b/org.tizen.guides/html/web/ui/tau/tau_w.htm index 1c28e1a..5565547 100644 --- a/org.tizen.guides/html/web/ui/tau/tau_w.htm +++ b/org.tizen.guides/html/web/ui/tau/tau_w.htm @@ -111,7 +111,7 @@
        • Animation

          Enables you to create animations without other animation libraries.

        • -
        • 2.4 Porting Guide +
        • 2.4 Porting Guide in mobile applications only

          Enables you to migrate a TAU element from Tizen version 2.3 to 2.4.

        diff --git a/org.tizen.guides/html/web/w3c/media/task_selfcamera_w.htm b/org.tizen.guides/html/web/w3c/media/task_selfcamera_w.htm index c548667..22bb17a 100644 --- a/org.tizen.guides/html/web/w3c/media/task_selfcamera_w.htm +++ b/org.tizen.guides/html/web/w3c/media/task_selfcamera_w.htm @@ -44,7 +44,7 @@

        Task: Self Camera

        -

        This task, based on the SelfCamera sample delivered with the Tizen Studio, demonstrates how you can use the getUserMedia API to access and display the camera video stream, and capture a single photo. For more information on the sample functionality and creating the sample with the full source code, see the Self Camera.

        +

        This task, based on the SelfCamera sample delivered with the Tizen Studio, demonstrates how you can use the getUserMedia API to access and display the camera video stream, and capture a single photo. For more information on the sample functionality and creating the sample with the full source code, see Self Camera.

        This task consists of the following parts:

    eventTypeClickOnButton2 app_control_add_extra_data(appcontrol, key, value) -

    notification_add_button (noti, NOTIFICATION_BUTTON_2)

    +

    notification_add_button(noti, NOTIFICATION_BUTTON_2)

    (noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_2, app_control)

    eventTypeClickOnButton3 app_control_add_extra_data(appcontrol, key, value) -

    notification_add_button (noti, NOTIFICATION_BUTTON_3)

    +

    notification_add_button(noti, NOTIFICATION_BUTTON_3)

    (noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_3, app_control)

    eventTypeClickOnButton4 app_control_add_extra_data(appcontrol, key, value) -

    notification_add_button (noti, NOTIFICATION_BUTTON_4)

    +

    notification_add_button(noti, NOTIFICATION_BUTTON_4)

    (noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_4, app_control)

    eventTypeClickOnButton5 app_control_add_extra_data(appcontrol, key, value) -

    notification_add_button (noti, NOTIFICATION_BUTTON_5)

    +

    notification_add_button(noti, NOTIFICATION_BUTTON_5)

    (noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_5, app_control)

    eventTypeClickOnButton6 app_control_add_extra_data(appcontrol, key, value) -

    notification_add_button (noti, NOTIFICATION_BUTTON_6)

    +

    notification_add_button(noti, NOTIFICATION_BUTTON_6)

    (noti, NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_6, app_control)

    selectedThe flipselector's selected text item changes.The flipselector's selected text item changes. NULL
    overflowedThe flipselector's current selection changes from the first item to the last one.The flipselector's current selection changes from the first item to the last one. NULL
    underflowedThe flipselector's current selection changes from the last item to the first one.The flipselector's current selection changes from the last item to the first one. NULL