2 * Copyright (c) 2017 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.Collections.Generic;
19 using System.Threading.Tasks;
21 namespace LibTVRefCommonPortable.Utils
24 /// A class to store RecentApp information.
26 public class RecentApp
29 /// A Recent instance ID
31 public String InstanceID;
34 /// A Recent instance label
36 public String InstanceLabel;
46 public String Applabel;
51 public String IconPath;
54 /// A last launched data
56 public DateTime LaunchedTime;
59 /// A URI of accessible content if the Recent is a content.
64 /// A File Path of screenshot of the recent app or recent content.
66 public String ScreenShot;
70 /// An interface for Application Manager feature
72 public interface IApplicationManagerAPIs
75 /// A method provides installed application list.
77 /// <returns>An installed application list</returns>
78 Task<Dictionary<string, string[]>> GetAllInstalledApplication();
81 /// A method provides a recent application list.
83 /// <returns>A Recent application list.</returns>
84 IEnumerable<RecentApp> GetRecentApplications();
87 /// A method provides application information which is matched with the given app ID.
89 /// <param name="applicationId">An application ID</param>
90 /// <returns>An installed application information</returns>
91 Dictionary<string, string> GetInstalledApplication(string applicationId);
94 /// A method for removing all recent applications
96 void DeleteAllRecentApplication();
99 /// A method for removing the specified recent application
101 /// <param name="appId">An application ID</param>
102 void DeleteRecentApplication(string appId);
105 /// Checks whether application is removable
107 /// <param name="appID">The app ID to get</param>
108 /// <returns>If the application is removable, true; otherwise, false</returns>
109 bool GetAppInfoRemovable(string appID);
112 /// Gets the app ID by the app label
114 /// <param name="appLabel">the app label to get</param>
115 /// <returns>the app ID of the app label</returns>
116 Task<string> GetAppIDbyAppLabel(string appLabel);