package com.iwedia.service.system.application; import java.util.List; import android.os.RemoteException; import android.util.Log; import com.iwedia.comm.content.applications.AppItem; import com.iwedia.comm.enums.AppListType; import com.iwedia.comm.system.application.IApplicationDetails; import com.iwedia.comm.system.application.IApplicationSettings; import com.iwedia.service.IWEDIAService; /** * The applications controller. This class manages applications, their details * and settings. * * @author Stanislava Markovic */ public class ApplicationSettings extends IApplicationSettings.Stub { private static final String LOG_TAG = "ApplicationSettings"; private IApplicationDetails applicationDetails; public ApplicationSettings() { applicationDetails = new ApplicationDetails(); } /** * Gets application details with the given package name * * @param packageName * - package name of application you want to get details * @return {@link com.iwedia.comm.system.application.IApplicationDetails} */ @Override public IApplicationDetails getApplicationDeatails(String packageName) throws RemoteException { if (IWEDIAService.DEBUG) { Log.e(LOG_TAG, "getApplicationDeatails " + packageName); } ((ApplicationDetails) applicationDetails).setPackageName(packageName); return applicationDetails; } /** * Returns the number of applications with the given application type. * * @param appType * - it can be {@link AppListType#ALL} or * {@link AppListType#INSTALLED} or {@link AppListType#RUNNING} or * {@link AppListType#EXTERNAL} * @return number of applications. */ @Override public int getAppListSize(int appType) throws RemoteException { return ApplicationManager.getInstance().getSize(appType); } /** * Gets application with the given index. * * @param index * - index of the application you want to get. * @return {@link com.iwedia.comm.content.applications.AppItem} */ @Override public AppItem getApplication(int index) throws RemoteException { return ApplicationManager.getInstance().getApplication(index); } /** * Check if is allowed installation of non-Market applications. * * @return true if allowed, else false. */ @Override public boolean isUnknownSource() throws RemoteException { // TODO Auto-generated method stub return false; } /** * Allow or disallow installation of non-Market applications. * * @param value * - true if you want to allow, else false. */ @Override public void setUnknownSource(boolean arg0) throws RemoteException { // TODO Auto-generated method stub } /** * Gets list of running services. * * @return list of runningServices. */ @Override public List<AppItem> getRunningServices() throws RemoteException { return ApplicationManager.getInstance().getRunningServices(); } @Override public void stopService(String packegeName, String className) throws RemoteException { ApplicationManager.getInstance().stopService(packegeName, className); } }