blob: 54ad81c564506e6feda8a8426d21e4d606bd667c [file] [log] [blame]
package com.android.clockwork.globalactions;
import android.content.Context;
import android.os.ServiceManager;
import android.util.Slog;
import com.android.server.LocalServices;
import com.android.server.policy.GlobalActionsProvider;
import com.android.server.policy.WindowManagerPolicy;
import com.android.server.SystemService;
public class GlobalActionsService extends SystemService {
private static final String TAG = "GlobalActionsService";
private final Context mContext;
private final WindowManagerPolicy.WindowManagerFuncs mWindowManagerFuncs;
public GlobalActionsService(Context context) {
super(context);
mContext = context;
// obtain WindowManagerFuncs here as without it global actions cannot function
WindowManagerPolicy.WindowManagerFuncs windowManagerFuncs = null;
try {
windowManagerFuncs = (WindowManagerPolicy.WindowManagerFuncs)
ServiceManager.getService(Context.WINDOW_SERVICE);
} catch (ClassCastException e) {
Slog.w(TAG, "unable to start clockwork global actions service");
}
mWindowManagerFuncs = windowManagerFuncs;
}
@Override
public void onStart() {
if (mWindowManagerFuncs != null) {
LocalServices.addService(
GlobalActionsProvider.class,
new GlobalActionsProviderImpl(mContext, mWindowManagerFuncs));
}
}
}