Ad Kit: Native Video Ads - Huawei Developers

Ad Kit: Native Video Ads
A native ad may contain video assets in addition to images and text. The HUAWEI Ads SDK also provides the following two classes for video configuration and control:
VideoConfiguration
The VideoConfiguration class is used to configure native videos. The sample code is as follows:
Code:
// "testy63txaom86" is a dedicated test ad slot ID.
NativeAdLoader.Builder builder = new NativeAdLoader.Builder(this, "testy63txaom86");
VideoConfiguration videoConfiguration = new VideoConfiguration.Builder()
// Set whether to play video assets in mute mode. The default value is true.
.setStartMuted(true)
.build();
NativeAdConfiguration adConfiguration = new NativeAdConfiguration.Builder()
.setVideoConfiguration(videoConfiguration)
.build();
builder.setNativeAdOptions(adConfiguration);
VideoOperator
The VideoOperator class is used to obtain video information and control videos. The controller instance needs to be obtained by calling the NativeAd.getVideoOperator() method. This method always returns the VideoOperator object, regardless of whether the ad contains a video asset.
Code:
VideoOperator videoOperator = nativeAd.getVideoOperator();
VideoOperator provides the hasVideo() method to determine whether the ad contains a video asset.
The VideoOperator.VideoLifecycleListener class can be used to listen for events during video playback.
Code:
videoOperator.setVideoLifecycleListener(new VideoOperator.VideoLifecycleListener() {
@Override
public void onVideoEnd() {
// TODO
...
super.onVideoEnd();
}
});
Native Ad Templates
Huawei provides a set of native ad templates for you to quickly integrate into your app to display native ads.
Native ad templates are available in two sizes: small and medium. Both will scale to fill the width of their parent views. You can change the layout or style of the templates as you like.
Small Template
The following figure shows a small template:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
The content of the XML layout file is as follows:
Code:
<com.huawei.hms.ads.nativead.NativeView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/native_small_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="10dp"
android:background="#FFFFFF"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="vertical">
<com.huawei.hms.ads.nativead.MediaView
android:id="@+id/ad_media"
android:layout_width="75dp"
android:layout_height="50dp"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:background="#8BC34A" />
<RelativeLayout
android:id="@+id/center_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="107dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="48dp"
android:layout_marginBottom="8dp"
android:background="#FFFFFF">
<TextView
android:id="@+id/ad_title"
android:layout_width="match_parent"
android:layout_height="34dp"
android:layout_marginBottom="16dp"
android:alpha="1"
android:textColor="#000000"
android:textSize="@dimen/hiad_text_13_sp" />
<TextView
android:id="@+id/ad_source"
android:layout_width="wrap_content"
android:layout_height="14dp"
android:layout_marginTop="36dp"
android:alpha="0.6"
android:maxWidth="132dp"
android:textColor="#666666"
android:textSize="@dimen/hiad_text_9_sp" />
<TextView
android:id="@+id/ad_flag"
android:layout_width="16dp"
android:layout_height="14dp"
android:layout_marginStart="8dp"
android:layout_marginTop="36dp"
android:layout_toEndOf="@+id/ad_source"
android:background="@drawable/native_flag_rounded_corners_shape"
android:gravity="center"
android:text="@string/ad_flag"
android:textColor="#FFFFFF"
android:textSize="8sp"
android:textStyle="bold" />
<Button
android:id="@+id/ad_call_to_action"
android:layout_width="44dp"
android:layout_height="@dimen/hiad_16_dp"
android:layout_alignParentEnd="true"
android:layout_marginTop="34dp"
android:background="@drawable/native_button_rounded_corners_shape"
android:textColor="#FFFFFF"
android:textSize="6sp" />
</RelativeLayout>
</RelativeLayout>
</com.huawei.hms.ads.nativead.NativeView>
Medium Template
The following figure shows a medium template:
The content of the XML layout file is as follows:
Code:
<com.huawei.hms.ads.nativead.NativeView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/native_video_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#FFFFFF"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.huawei.hms.ads.nativead.MediaView
android:id="@+id/ad_media"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RelativeLayout
android:id="@+id/left_bottom_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ad_media">
<TextView
android:id="@+id/ad_title"
android:layout_width="180dp"
android:layout_height="19dp"
android:layout_marginStart="24dp"
android:layout_marginTop="16dp"
android:alpha="1"
android:textColor="#000000"
android:textSize="@dimen/hiad_text_13_sp" />
<TextView
android:id="@+id/ad_source"
android:layout_width="wrap_content"
android:layout_height="19dp"
android:layout_below="@id/ad_title"
android:layout_marginStart="24dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="16dp"
android:alpha="0.6"
android:maxWidth="158dp"
android:textColor="#666666"
android:textSize="@dimen/hiad_text_12_sp" />
<TextView
android:id="@+id/ad_flag"
android:layout_width="20dp"
android:layout_height="14dp"
android:layout_marginStart="8dp"
android:layout_marginTop="40dp"
android:layout_toEndOf="@+id/ad_source"
android:background="@drawable/native_flag_rounded_corners_shape"
android:gravity="center"
android:text="@string/ad_flag"
android:textColor="#FFFFFF"
android:textSize="8sp"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/right_bottom_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ad_media"
android:layout_alignParentEnd="true">
<Button
android:id="@+id/ad_call_to_action"
android:layout_width="72dp"
android:layout_height="26dp"
android:layout_alignParentEnd="true"
android:layout_marginTop="23dp"
android:layout_marginEnd="52dp"
android:layout_marginBottom="23dp"
android:background="@drawable/native_button_rounded_corners_shape"
android:textColor="#FFFFFF"
android:textSize="10sp" />
</RelativeLayout>
</RelativeLayout>
</com.huawei.hms.ads.nativead.NativeView>
The content of the drawable/native_flag_rounded_corners_shape.xml file is as follows:
Code:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#CCCCCC" />
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<corners
android:bottomLeftRadius="2dp"
android:bottomRightRadius="2dp"
android:topLeftRadius="2dp"
android:topRightRadius="2dp" />
</shape>
The content of the drawable/native_button_rounded_corners_shape.xml file is as follows:
Code:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#214EF3" />
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<corners
android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp" />
</shape>

Related

[Q] [q] help me move status bar clear button?

Hi I themed my GB status bar to look kinda like an ICS/JB one but I really want some help regarding this clear button..
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I really want to move the clear button to the rightmost side.. I've tried adding androidaddingRight and marginRight and it does move to the right but not to the rightmost corner.. And if I just use padding there are times when the clear button shrinks when the date and time on the expanded view is longer.. Can anyone help me on this?
btw here's my status_bar_expanded.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.ExpandedView android:orientation="vertical" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:orientation="horizontal" android:id="@id/carrier_bar_second_sub" android:background="@drawable/bg_panel" android:paddingTop="3.0dip" android:paddingRight="3.0dip" android:paddingBottom="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent">
<com.android.systemui.statusbar.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout android:layout_gravity="center_vertical" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent">
<ImageView android:gravity="center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_notify_quicksettings" android:onClick="settingsButton" />
</LinearLayout>
<LinearLayout android:layout_gravity="center_vertical" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent">
<TextView android:textSize="0.0sp" android:textColor="#00000000" android:gravity="right|center" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:background="@drawable/clear_button" android:paddingLeft="30.0dip" android:paddingRight="3.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_marginLeft="10.0dip" android:layout_marginTop="4.0dip" android:layout_marginBottom="1.0dip" android:singleLine="true" android:layout_weight="1.0" />
<TextView android:textSize="0.0sp" android:textColor="#00000000" android:gravity="right|center" android:layout_gravity="center_vertical" android:id="@id/clear_all_button_fade" android:background="@drawable/clear_button" android:paddingLeft="30.0dip" android:paddingRight="3.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_marginLeft="10.0dip" android:layout_marginTop="4.0dip" android:layout_marginBottom="1.0dip" android:layout_weight="1.0" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="horizontal" android:background="@drawable/stat_bar_color" android:paddingTop="3.0dip" android:paddingRight="3.0dip" android:paddingBottom="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
<com.android.systemui.statusbar.SwitchControlPanel android:id="@id/switch_control_panel" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="ifContentScrolls">
<com.android.systemui.statusbar.NotificationLinearLayout android:orientation="vertical" android:id="@id/notificationLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Title" android:textColor="#ff0099cc" android:id="@id/noNotificationsTitle" android:background="@drawable/shade_header_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_no_notifications_title" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Title" android:textColor="#ff0099cc" android:id="@id/ongoingTitle" android:background="@drawable/shade_header_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_ongoing_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/ongoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Title" android:textColor="#ff0099cc" android:id="@id/latestTitle" android:background="@drawable/shade_header_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/status_bar_latest_events_title" />
<LinearLayout android:orientation="vertical" android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</com.android.systemui.statusbar.NotificationLinearLayout>
</ScrollView>
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/title_bar_shadow" android:scaleType="fitXY" />
</FrameLayout>
</com.android.systemui.statusbar.ExpandedView>

[guide][GB][will be update] modding SystemUI and Framework

SYSTEMUI.APK
1. ADDING SECONDS TO STATUSBAR
this is old trick, i got it from my friend.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Stuff
1. SystemUI.apk
2. Tools to decompile/compile
3. Notepad++ or other
Tuts:
1. decompile systemui.apk
2. open statusbar.xml
3. search
Code:
<com.android.systemui.statusbar.Clock
then, replace with
Code:
<DigitalClock
4. then, you need to resize your text size and replace hex of the text color like this
Code:
android:textSize="14.0dip" android:textStyle="bold" android:textColor="#ffffffff"
or change to whatever you want
5. save and compile
6. push/flash it via CWM
NB: if you have edt tweaks on clock statusbar, you'll loss the edt
FRAMEWORK-RES.APK
Stuff:
1. framework-res.apk
2. tools to compile/decompile
3. notepad++
1. HOW TO CHANGE COLOR OF PROGRESS BAR ON STOCKROM
Tuts:
1. decompile framework-res.apk
2. make a two 9.png with size 18x18 and give name whatever you want. for example
gambaron.9.png (this is for progress bar)
gambaroff.9.png (this is for background of progress bar)
Click to expand...
Click to collapse
3. put the image to inside of folder drawable
4. open progress_horizontal.xml on framework-res/res/drawable
5. search it
Code:
<item android:id="@id/background">
<shape>
<corners android:radius="4.659973dip" />
<gradient android:startColor="#ff989898" android:endColor="#ff686868" android:angle="270.0" android:centerColor="#ff686868" />
</shape>
</item>
<item android:id="@id/secondaryProgress">
<clip>
<shape>
<corners android:radius="4.659973dip" />
<gradient android:startColor="#5053ff53" android:endColor="#80029d02" android:angle="270.0" android:centerColor="#8030a030" />
</shape>
</clip>
</item>
<item android:id="@id/progress">
<clip>
<shape>
<corners android:radius="4.659973dip" />
<gradient android:startColor="#ff53ff53" android:endColor="#ff029d02" android:angle="270.0" android:centerColor="#ff30a030" />
</shape>
</clip>
</item>
and replace with
Code:
<item android:id="@id/background">
<nine-patch android:src="@drawable/gambaroff" />
</item>
<item android:id="@id/secondaryProgress">
<clip>
<shape>
<corners android:radius="4.659973dip" />
<gradient android:startColor="#5053ff53" android:endColor="#80029d02" android:angle="270.0" android:centerColor="#8030a030" />
</shape>
</clip>
</item>
<item android:id="@id/progress">
<clip>
<nine-patch android:src="@drawable/gambaron" />
</clip>
</item>
6. save, compile and push/flash it
2. HOW TO CHANGE USB STORAGE STOCKROM WITH TOUCH THE DROID TO CONNECT USB
screenshot:
Tuts:
1. go to layout and open usb_storage_activity.xml
2. replace all inside file to
Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:gravity="center" android:id="@id/main" android:padding="18.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:layout_gravity="center_vertical" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<Button android:layout_gravity="center_horizontal" android:id="@id/mount_button" android:background="@drawable/usb_android" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<Button android:layout_gravity="center_horizontal" android:id="@id/unmount_button" android:background="@drawable/usb_android_connected" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/icon" android:layout_width="0.0dip" android:layout_height="0.0dip" android:src="@color/transparent" android:layout_centerHorizontal="true" />
</LinearLayout>
<LinearLayout android:layout_gravity="center_vertical" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true">
<TextView android:textSize="24.0sp" android:gravity="center" android:id="@id/banner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10.0dip" android:text="@string/usb_storage_title" android:layout_below="@id/icon" android:layout_centerHorizontal="true" />
<TextView android:textSize="14.0sp" android:gravity="center" android:id="@id/message" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10.0dip" android:text="@string/usb_storage_message" android:layout_below="@id/banner" />
</LinearLayout>
<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="100.0dip" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true">
<ProgressBar android:id="@id/progress" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true" style="?android:attr/progressBarStyle" />
</RelativeLayout>
</RelativeLayout>
3. save and compile
4. now push or flash it via CWM
3. CHANGE PERCENT OF BATTERY STOCKROM TO 1-100
Tuts:
1. you need to download rhis first https://www.dropbox.com/s/x1nb15u8cxeyorp/Music.rar
2. ekstrak, then move stat_sys_battery.xml and stat_sys_battery_charge.xml of the file that you downloaded earlier to the drawable folder
3. move image from the file that you download to the drawable-ldpi
4. then save and compile
5. flash/push
nice guide
Sent from my GT-S5360 using Tapatalk 2
I lost my phone today, so sorry I was not able to continue this thread again. and all my project also stopped

[GUIDE][ICS][JB] Add shortcuts on Xperia JB lockscreen

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
That's how it looks
It works with Xperia JB Lockscreen on Android 4.0.4 and 4.1.2 (confimed)
This guide is for skilled users.
HERE you may download my lockscreen and use it like template or basis
Lets start
Use apktool version 2 (beta) to prevent error while compilling
1. Decompile your UxpNxtLockScreen.apk
2. Find the file main.xml in res/layout folder and add the lines marked red
Lines those are marked blue you must add only if you dont have RelativeLayout in your main.xml. Its important.
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.sonyericsson.lockscreen.generic.LockScreenRootView android:id="@id/somc_blinds_lockscreen_root" android:layout_width="fill_parent" android:layout_height="fill_parent" android:directionality="leftToRight"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView android:id="@id/background_image" android:background="#00000000" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="centerCrop" />
[COLOR="red"]<FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent">[/COLOR]
[COLOR="RoyalBlue"]<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent">[/COLOR]
<LinearLayout android:orientation="vertical" android:id="@id/alarm_and_charge" android:focusable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginTop="8.0dip" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:directionality="leftToRight">
<include layout="@layout/top_left_next_alarm" />
<include layout="@layout/charging_status" />
</LinearLayout>
<TextView android:textSize="@dimen/lockscreen_text_size_small" android:textColor="#ffffffff" android:gravity="right|center" android:id="@id/carrier" android:focusable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8.0dip" android:layout_marginRight="8.0dip" android:maxWidth="@dimen/lockscreen_carrier_text_max_width" android:text="" android:maxLines="3" android:shadowColor="@color/text_shadow_color" android:shadowDx="@integer/text_shadow_dx" android:shadowDy="@integer/text_shadow_dy" android:shadowRadius="@integer/text_shadow_radius" android:layout_alignParentTop="true" android:layout_alignParentRight="true" />
<include layout="@layout/w_clock" />
<com.sonymobile.lockscreen.topslider.TopSlider android:id="@id/top_slider" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/lockscreen_widget_slider_margin_top" android:layout_alignParentTop="true" android:directionality="none" />
<com.sonymobile.lockscreen.topslider.HorizontalWidgetSlider android:id="@id/horizontal_widget_slider" android:focusable="true" android:focusableInTouchMode="true" android:scrollbars="none" android:fadingEdge="none" android:clipChildren="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignTop="@id/top_slider" android:layout_alignBottom="@id/top_slider" android:directionality="none">
<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/horizontal_widget_slider_layout" android:focusable="true" android:focusableInTouchMode="true" android:clipChildren="false" android:layout_width="wrap_content" android:layout_height="fill_parent" android:directionality="none">
<include layout="@layout/music_controls" />
<View android:id="@id/top_slider_placeholder_widget" android:layout_width="fill_parent" android:layout_height="1.0dip" />
</LinearLayout>
</com.sonymobile.lockscreen.topslider.HorizontalWidgetSlider>
<LinearLayout android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@id/top_slider" android:layout_alignBottom="@id/top_slider" android:layout_centerHorizontal="true">
<ProgressBar android:id="@id/camera_start_progress" android:padding="20.0dip" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:progressDrawable="@drawable/camera_start_progressbar" />
</LinearLayout>
<TextView android:textSize="14.0dip" android:textColor="#ffffffff" android:gravity="center" android:id="@id/screenLockMsg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="8.0dip" android:shadowColor="@color/text_shadow_color" android:shadowDx="@integer/text_shadow_dx" android:shadowDy="@integer/text_shadow_dy" android:shadowRadius="@integer/text_shadow_radius" android:layout_alignParentBottom="true" />
<com.sonyericsson.lockscreen.generic.LockScreenNonTouchView android:id="@id/non_touch_view" android:background="#00000000" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" />
<include android:id="@id/hint" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/lockscreen_hint_bottom_margin" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" layout="@layout/unlock_hint" />
[COLOR="RoyalBlue"]</RelativeLayout>[/COLOR]
[COLOR="red"]<LinearLayout android:gravity="center" android:layout_gravity="bottom" android:orientation="horizontal" android:background="#00000000" android:layout_width="fill_parent" android:layout_height="@dimen/botbar_height">
<RelativeLayout android:layout_width="@dimen/botbar_width_icon_bg" android:layout_height="fill_parent">
<aaa.sk0t.ui.MultyBtn android:layout_gravity="center" android:tag=".DialerEntryActivity" android:background="#00000000" android:layout_width="70.0dip" android:layout_height="70.0dip" android:contentDescription="com.sonyericsson.android.socialphonebook" />
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/botbar_call_icon" android:scaleType="center" />
</RelativeLayout>
<RelativeLayout android:layout_width="@dimen/botbar_width_icon_bg" android:layout_height="fill_parent">
<aaa.sk0t.ui.MultyBtn android:layout_gravity="center" android:tag=".activities.SocialPhonebookActivity" android:background="#00000000" android:layout_width="70.0dip" android:layout_height="70.0dip" android:contentDescription="com.sonyericsson.android.socialphonebook" />
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/botbar_contact_icon" android:scaleType="center" />
</RelativeLayout>
<RelativeLayout android:layout_width="@dimen/botbar_width_icon_bg" android:layout_height="fill_parent">
<aaa.sk0t.ui.MultyBtn android:layout_gravity="center" android:tag=".ui.ConversationListActivity" android:background="#00000000" android:layout_width="70.0dip" android:layout_height="70.0dip" android:contentDescription="com.sonyericsson.conversations" />
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/botbar_conversations_icon" android:scaleType="center" />
</RelativeLayout>
</LinearLayout>
</FrameLayout>[/COLOR]
</com.sonyericsson.lockscreen.generic.LockScreenRootView>
3. Find the file dimens.xml in res/values and add the lines marked red
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="set_button_width">220.0dip</dimen>
<dimen name="lockscreen_widget_slider_margin_top">93.0dip</dimen>
<dimen name="lockscreen_hint_bottom_margin">190.0dip</dimen>
<dimen name="lockscreen_text_size_small">12.0dip</dimen>
<dimen name="lockscreen_text_size_medium">14.0sp</dimen>
<dimen name="lockscreen_text_size_medium_large">16.0dip</dimen>
<dimen name="lockscreen_text_size_large">76.0dip</dimen>
<dimen name="lockscreen_text_padding">0.0dip</dimen>
<dimen name="lockscreen_carrier_text_max_width">168.0dip</dimen>
<dimen name="lockscreen_owner_margin_top">6.0dip</dimen>
[COLOR="Red"]<dimen name="botbar_width_icon_bg">100.0dip</dimen>
<dimen name="botbar_height">80.0dip</dimen>[/COLOR]
</resources>
4. Add icons from archive to res/drawable-hdpi (it depends on your display's resolution, be attentive)
ICONS
5. Unpack archive in smali folder
SMALI
Must be UxpNxtLockScreen\smali\aaa\sk0t\ui\MultyBtn.smali
6. Compile your lockscreen
Thats all
If you want to change shortcuts here is explaining:
Code:
<RelativeLayout android:layout_width="@dimen/botbar_width_icon_bg" android:layout_height="fill_parent">
<aaa.sk0t.ui.MultyBtn android:layout_gravity="center" [COLOR="SeaGreen"]android:tag[/COLOR]="[B].ui.ConversationListActivity[/B]" android:background="#00000000" android:layout_width="70.0dip" android:layout_height="70.0dip" [COLOR="DarkOrchid"]android:contentDescription[/COLOR]="[B]com.sonyericsson.conversations[/B]" />
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/[COLOR="RoyalBlue"]botbar_conversations_icon[/COLOR]" android:scaleType="center" />
</RelativeLayout>
android:contentDescription - search in AndroidManifest.xml of your apk (package parameter)
android:tag - search in AndroidManifest.xml (see parameter android:name, be attentive, you need main activity of app)
botbar_conversations_icon - icon of your shortcut
Thanks maks398tim for GUIDE
I just translated it and shared on XDA
If it works for you - please, write about it in this thread
It can be useful

HiAi – Category Label, How to get information based on deep learning

More information like this, you can visit HUAWEI Developer Forum​
Take a photo and automatically get a infromations from the object in there, the scenes presented an behaiviors, this can be very usefull if you need to categorize your images and photos based on deep learning, this is something that we can do with HiAI - category label capability, in this post, you will see how to do it with a JAVA project.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
HIAI has serveral categories, base on deep learning you will be able to get a category that is identified in your images.
if you want to get the full information you will get it on the API reference in the next link: https://developer.huawei.com/consumer/en/doc/development/hiai-References/20201004
What do we need :
Java JDK installation package
Android Studio 3.1 or later
Android SDK package
HiAI SDK package
1) Install DevEco IDE Plugins
Into your Android istudio go to File>Settings>Plugins and search for Dev ECO ID and Enable it \m/
Once is enable, dont forget to Restart you IDE (Android Studio).
2) Create your APP
3) Add dependency library
· Download the Huawei-hiai-vision.aar package in the Huawei AI Engine SDKs from the Huawei developer community.
· Copy the downloaded vision-release.aar package to the app/libs directory of the project.
4) Lets code
I will create a project on android studio starting with an empty activity, for the visual side i will add an imageView to show the photo, a button to take the photo and a textview to show the different value sthat i can get for the category from HIAI, for the logic side i will use the HiAi methods to make the API call to get the Category Label of the photos, the steps that we need are the following:
 -Define the layout
Code:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.CategoryLabel">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintlayout"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintVertical_bias="0.5"
app:layout_constraintBottom_toTopOf="@+id/linearlayout">
<com.huawei.hiaicodedemo.widget.TitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:titleName="@string/as_catLabel"
app:titleTextColor="@color/black"
app:titleTextSize="18sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"/>
<ImageView
android:id="@+id/text_origin"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="30dp"
android:src="@color/color_6e"
app:layout_constraintDimensionRatio="h,4:3"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintWidth_percent="0.8"
app:layout_constraintTop_toBottomOf="@+id/titleBar"
app:layout_constraintBottom_toTopOf="@+id/after"/>
<LinearLayout
android:id="@+id/after"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginBottom="15dp"
android:text="@string/as_result"
android:textSize="18sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/color_6e"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/linearlayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/color_6e"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintVertical_bias="0.5"
app:layout_constraintTop_toBottomOf="@+id/constraintlayout">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white">
<androidx.core.widget.NestedScrollView
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="h,4:3"
app:layout_constraintWidth_percent="0.8"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:background="@color/color_6e">
<EditText
android:id="@+id/text_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:textColor="@color/black" />
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/takePhoto"
android:layout_width="90dp"
android:layout_height="37dp"
android:layout_marginStart="48dp"
android:layout_marginTop="16dp"
android:background="@drawable/submit_button"
android:text="@string/foto"
android:textAllCaps="false"
android:textColor="@drawable/submit_button_text_color"
android:textSize="15sp"
app:layout_constraintHorizontal_bias="0.031"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/btn_album"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.37" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
 -Prepare the intent to get the picture from the camera and save it into a Bitmap
Code:
public void tomaFotoCategory(CategoryLabel view){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_FOTO);
}
Remember to add the permises to use the periferic in you manifest:
Code:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 -Connect to HiAi Engine to use the Category Label using VisionBase Class
Code:
private void initHiAI() {
VisionBase.init(this, new ConnectionCallback() {
@Override
public void onServiceConnect() {
}
@Override
public void onServiceDisconnect() {
}
});
}
 -Make the API CALL to get the Category Label, for this you need to declare a variable Frame & Label where you will get the response from the method
Code:
/** Define class detector, the context of this project is the input parameter*/
LabelDetector labelDetector = new LabelDetector(this);
/**Define the frame, put the bitmap that needs to detect the image into the frame*/
Frame frame = new Frame();
frame.setBitmap(bitmap);
/** Call the detect method to get the result of the label detection */
/** Note: This line of code must be placed in the worker thread instead of the main thread*/
JSONObject jsonLabel = labelDetector.detect(frame, null);
/** Call convertResult() method to convert the json to java class and get the label detection(you can parse the json by yourself, too) */
Label label1 = labelDetector.convertResult(jsonLabel);
this.label = label1.getCategory();
this.labelContents =label1.getLabelContent();
this.categoria=label1.getCategory();
this.prob=label1.getCategoryProbability();
handler.sendEmptyMessage(AESTHETICSCORE_RESULT);
 -To print the result into the text i will use the getters of all the values that i can get form the object Label, LabelContents, Category anf probablillity:
Code:
textEdit.setText("Label: "+String.valueOf(label)
+" \n Categoria: "+categoria
+" \n Label_ID: "+labelContents.get(0).getLabelId()
+" \n Prob: "+ String.valueOf(prob)
+" \n Probabilidad: "+labelContents.get(0).getProbability());
If you need the complete code project, let me know, in there you will be able to review all the parameter definition .
1) Once you have your DevEco IDE plugin Eneable you will see an AMAZING KIT ASSITANT
go to DevECO>EMUI KIT>KIT ASSITANT
2) You will see a Menu like this:
3) Select HiAi and look Aesthetic
4) BOOM!!! Code Samples, Descriptions, Suggestions, DRAG & DROP CODE!!!!
Original link: https://forums.developer.huawei.com/forumPortal/en/topicview?tid=0201322052049010285&fid=0101187876626530001

HiAi - Scene Detection, How to categorize images by identifying scenes of your images

More information like this, you can visit HUAWEI Developer Forum​
Original link: https://forums.developer.huawei.com/forumPortal/en/topicview?tid=0201333475840980029&fid=0101187876626530001
You take a photo and you want to automatically identify which scene is by an intelligent recognize, or maybe you want to categorize you photo album by scenes, this is possible by a HIAI engine by a quick scene clasification.
On this post i will show you how you can use this feature on a Java-native app, since the front activities until the methos from HIAI you must call.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
HiAi Engine can recognize several scenes automatically bby using its methods, here some examples:
if you want to get the full information you will get it on the API reference in the next link: https://developer.huawei.com/consumer/en/doc/development/hiai-References/20201204
What do we need :
Java JDK installation package
Android Studio 3.1 or later
Android SDK package
HiAI SDK package
1) Install DevEco IDE Plugins
Into your Android istudio go to File>Settings>Plugins and search for Dev ECO ID and Enable it \m/
Once is enable, dont forget to Restart you IDE (Android Studio).
2) Create your APP
3) Add dependency library
· Download the Huawei-hiai-vision.aar package in the Huawei AI Engine SDKs from the Huawei developer community.
Copy the downloaded vision-release.aar package to the app/libs directory of the project.
4) Lets code
I will create a project on android studio starting with an empty activity, for the visual side i will add an imageView to show the photo, a button to take the photo and a textview to show the different values that i can get for the scene, for the logic side i will use the HiAi methods to make the API call to get the image scene of the photos.
  -Define the layout
Code:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.SceneDetection">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintlayout"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintVertical_bias="0.5"
app:layout_constraintBottom_toTopOf="@+id/linearlayout">
<com.huawei.hiaicodedemo.widget.TitleBar
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:titleName="@string/as_scene"
app:titleTextColor="@color/black"
app:titleTextSize="18sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"/>
<ImageView
android:id="@+id/text_origin"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="30dp"
android:src="@color/color_6e"
app:layout_constraintDimensionRatio="h,4:3"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintWidth_percent="0.8"
app:layout_constraintTop_toBottomOf="@+id/titleBar"
app:layout_constraintBottom_toTopOf="@+id/after"/>
<LinearLayout
android:id="@+id/after"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginBottom="15dp"
android:text="@string/as_scene"
android:textSize="18sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/color_6e"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/linearlayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/color_6e"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintVertical_bias="0.5"
app:layout_constraintTop_toBottomOf="@+id/constraintlayout">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white">
<androidx.core.widget.NestedScrollView
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="h,4:3"
app:layout_constraintWidth_percent="0.8"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:background="@color/color_6e">
<EditText
android:id="@+id/text_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:textColor="@color/black" />
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/takePhoto"
android:layout_width="90dp"
android:layout_height="37dp"
android:layout_marginStart="48dp"
android:layout_marginTop="16dp"
android:background="@drawable/submit_button"
android:text="@string/foto"
android:textAllCaps="false"
android:textColor="@drawable/submit_button_text_color"
android:textSize="15sp"
app:layout_constraintHorizontal_bias="0.031"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/btn_album"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.37" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
 -Prepare the intent to get the picture from the camera and save it into a Bitmap
Code:
public void tomaFotoCategory(CategoryLabel view){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_FOTO);
}
Remember to add the permises to use the periferic in you manifest:
Code:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 -Connect to HiAi Engine to use the scene detection by VisionBase Class
In the class where you are going to call the methos to use the HIAI, we have to init the HIAI capability, i have created a method to call this init as following:
Code:
private void initHiAI() {
VisionBase.init(this, new ConnectionCallback() {
@Override
public void onServiceConnect() {
}
@Override
public void onServiceDisconnect() {
}
});
}
 -lets get the scene
Now, to get the scene category from your photo, you will have to make an instance from the class SceneDetectior and using its detect() method the value can be identified, in my case i create a method to do this job, every step is decribed in my code bellow:
Code:
private void setHiAi() {
/** Define class detector, the context of this project is the input parameter: */
SceneDetector sceneDetector = new SceneDetector(this);
/** define frame class, put the picture which need to be scene detected into the frame */
Frame frame = new Frame();
/** BitmapFactory.decodeFile input resource file path*/
frame.setBitmap(bitmap);
/** Call the detect method to get the result of the scene detection */
/** Note: This line of code must be placed in the worker thread instead of the main thread */
JSONObject jsonScene = sceneDetector.detect(frame, null);
/** Call convertResult() method to convert the json to java class and get the label detection (you can parse the json by yourself, too) */
Scene scene = sceneDetector.convertResult(jsonScene);
/** Get the identified scene type*/
int type = scene.getType();
this.resultado = type;
handler.sendEmptyMessage(TEXTDETECTOR_RESULT);
}
The result is the following (if you need the full project, let me know in the comments):
---------------------- < BONUS TRACK /> --------------------
1) Once you have your DevEco IDE plugin Eneable you will see an AMAZING KIT ASSITANT
go to DevECO>EMUI KIT>KIT ASSITANT
2) You will see a Menu like this:
3) Select HiAi and search for scene detection:
4) BOOM!!! Code Samples, Descriptions, Suggestions, DRAG & DROP CODE!!!!
How much working days it will take to integrate ?
This is very nice, it helps a lot.
If you have a big library is very useful. It will be very awesome if you could use it with movies.

Categories

Resources