/******************************************************************************* * Copyright (C) 2005-2013 Alfresco Software Limited. * * This file is part of Alfresco Mobile for Android. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package org.alfresco.mobile.android.application.managers; import org.alfresco.mobile.android.application.R; import org.alfresco.mobile.android.application.extension.analytics.GAnalyticsManagerImpl; import org.alfresco.mobile.android.application.fragments.config.ConfigMenuEditorFragment; import org.alfresco.mobile.android.platform.extensions.AnalyticsManager; import org.alfresco.mobile.android.platform.extensions.DevToolsManager; import org.alfresco.mobile.android.ui.holder.HolderUtils; import org.alfresco.mobile.android.ui.holder.TwoLinesCheckboxViewHolder; import org.alfresco.mobile.android.ui.holder.TwoLinesViewHolder; import android.content.Context; import android.support.v4.app.FragmentActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class DevToolsManagerImpl extends DevToolsManager { public boolean enableManualDispatch = false; // /////////////////////////////////////////////////////////////////////////// // CONSTRUCTOR // /////////////////////////////////////////////////////////////////////////// public static DevToolsManager getInstance(Context context) { synchronized (LOCK) { if (mInstance == null) { mInstance = new DevToolsManagerImpl(context); } return (DevToolsManager) mInstance; } } protected DevToolsManagerImpl(Context context) { super(context); } // /////////////////////////////////////////////////////////////////////////// // PUBLIC METHODS // /////////////////////////////////////////////////////////////////////////// @Override public void displayMenuConfig(FragmentActivity activity) { ConfigMenuEditorFragment.with(activity).display(); } @Override public void generateMenu(final FragmentActivity activity, ViewGroup root) { TwoLinesViewHolder vh = HolderUtils.configure(root, R.layout.row_two_lines_borderless, "Menu Editor", "Tools to edit and manage menu and profiles", -1); ((ViewGroup) vh.icon.getParent().getParent()).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { DevToolsManager.getInstance(activity).displayMenuConfig(activity); } }); View v = LayoutInflater.from(root.getContext()).inflate(R.layout.row_two_lines_checkbox, root, false); final TwoLinesCheckboxViewHolder cvh = HolderUtils.configure(v, "Analytics RealTime", "Switch ON to enable faster realtime analytics", enableManualDispatch); root.addView(v); cvh.choose.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { enableManualDispatch = cvh.choose.isChecked(); if (AnalyticsManager.getInstance(activity) != null) { ((GAnalyticsManagerImpl) AnalyticsManager.getInstance(activity)) .enableManualDispatch(cvh.choose.isChecked()); } } }); } }