diff options
author | Danesh M <danesh@cyngn.com> | 2016-06-08 11:25:08 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-06-14 13:14:35 -0700 |
commit | b6e71bc544f1ccf75b805fc2242226a3e6e566c2 (patch) | |
tree | 97bdf10ae16aed5b8ade90e352a359459c2d2876 /tests/src/org/cyanogenmod/tests/externalviews/ViewProviderService.java | |
parent | aa11b3330a4dbedc367f758d7b059ea17c94ad45 (diff) | |
download | vendor_cmsdk-b6e71bc544f1ccf75b805fc2242226a3e6e566c2.zip vendor_cmsdk-b6e71bc544f1ccf75b805fc2242226a3e6e566c2.tar.gz vendor_cmsdk-b6e71bc544f1ccf75b805fc2242226a3e6e566c2.tar.bz2 |
External view test
CYNGNOS-3042
Change-Id: Ibdd11b631c6deea3eb030ffb1ba55b6ca5fe022b
Diffstat (limited to 'tests/src/org/cyanogenmod/tests/externalviews/ViewProviderService.java')
-rw-r--r-- | tests/src/org/cyanogenmod/tests/externalviews/ViewProviderService.java | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/tests/src/org/cyanogenmod/tests/externalviews/ViewProviderService.java b/tests/src/org/cyanogenmod/tests/externalviews/ViewProviderService.java new file mode 100644 index 0000000..7f0f8dd --- /dev/null +++ b/tests/src/org/cyanogenmod/tests/externalviews/ViewProviderService.java @@ -0,0 +1,132 @@ +/** + * Copyright (c) 2016, The CyanogenMod Project + * + * 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.cyanogenmod.tests.externalviews.keyguardexternalviews; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Space; +import cyanogenmod.externalviews.KeyguardExternalViewProviderService; +import org.mockito.Mockito; + +public class ViewProviderService extends KeyguardExternalViewProviderService { + private ViewProvider mProvider; + + public ViewProviderService() {} + + @Override + public KeyguardExternalViewProviderService.Provider createExternalView(Bundle options) { + if (mProvider == null) { + mProvider = Mockito.spy(new ViewProvider(options)); + } + return mProvider; + } + + public ViewProvider getProvider() { + return mProvider; + } + + public class ViewProvider extends KeyguardExternalViewProviderService.Provider { + private ViewProvider mTracker; + private View mView; + + public ViewProvider(Bundle options) { + super(options); + } + + public View getView() { + return mView; + } + + public ViewProvider getTracker() { + return mTracker; + } + + @Override + public View onCreateView() { + if (mTracker == null) { + mTracker = Mockito.mock(ViewProvider.class); + } + mTracker.onCreateView(); + if (mView == null) { + mView = new Space(getBaseContext()); + } + return mView; + } + @Override + public void onKeyguardShowing(boolean screenOn) { + mTracker.onKeyguardShowing(screenOn); + } + @Override + public void onKeyguardDismissed() { + mTracker.onKeyguardDismissed(); + } + @Override + public void onBouncerShowing(boolean showing) { + mTracker.onBouncerShowing(showing); + } + @Override + public void onScreenTurnedOn() { + mTracker.onScreenTurnedOn(); + } + @Override + public void onScreenTurnedOff() { + mTracker.onScreenTurnedOff(); + } + + @Override + protected void onAttach() { + mTracker.onAttach(); + } + + @Override + protected void onDetach() { + mTracker.onDetach(); + } + + @Override + protected void onLockscreenSlideOffsetChanged(float swipeProgress) { + mTracker.onLockscreenSlideOffsetChanged(swipeProgress); + } + + public boolean requestDismissImpl() { + return requestDismiss(); + } + + public boolean requestDismissAndStartActivityImpl(Intent intent) { + return requestDismissAndStartActivity(intent); + } + + public void setInteractivityImpl(boolean interactive) { + setInteractivity(interactive); + } + + public void slideLockscreenInImpl() { + slideLockscreenIn(); + } + + public Bundle getOptionsImpl() { + return getOptions(); + } + + public void collapseNotificationPanelImpl() { + mTracker.collapseNotificationPanelImpl(); + collapseNotificationPanel(); + } + } +};
\ No newline at end of file |