Initial commit of updatable media API

Test: Created instance & called method
Change-Id: Ie886936c50884636b33112e6d5e44b43cfe504ae
gugelfrei
Christofer Åkersten 7 years ago
parent bf4637b5b8
commit cae43346c0

@ -25,4 +25,10 @@ LOCAL_PRIVILEGED_MODULE := true
# TODO: create a separate key for this package.
LOCAL_CERTIFICATE := platform
# TODO: Use System SDK once public APIs are approved
# LOCAL_SDK_VERSION := system_current
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PROGUARD_FLAG_FILES := proguard.cfg
include $(BUILD_PACKAGE)

@ -0,0 +1,20 @@
#
# Copyright 2017 The Android Open Source 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.
#
# Keep entry point for updatable Java classes
-keep public class com.android.media.update.ApiFactory {
public static java.lang.Object initialize(android.content.Context);
}

@ -0,0 +1,43 @@
/*
* Copyright (C) 2017 The Android Open Source 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 com.android.media.update;
import android.content.Context;
import android.media.update.MediaController2Provider;
import android.media.update.StaticProvider;
import android.media.update.ViewProvider;
import android.widget.MediaController2;
import com.android.widget.MediaController2Impl;
public class ApiFactory implements StaticProvider {
private final Context mContext;
public ApiFactory(Context context) {
mContext = context;
}
public static Object initialize(Context context) throws ReflectiveOperationException {
return new ApiFactory(context);
}
@Override
public MediaController2Provider createMediaController2(
MediaController2 instance, ViewProvider superProvider) {
return new MediaController2Impl(instance, superProvider);
}
}

@ -0,0 +1,192 @@
/*
* Copyright (C) 2017 The Android Open Source 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 com.android.widget;
import android.graphics.Canvas;
import android.media.session.MediaController;
import android.media.update.MediaController2Provider;
import android.media.update.ViewProvider;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.MediaController2;
public class MediaController2Impl implements MediaController2Provider {
private final MediaController2 mInstance;
private final ViewProvider mSuperProvider;
public MediaController2Impl(MediaController2 instance, ViewProvider superProvider) {
mInstance = instance;
mSuperProvider = superProvider;
// TODO: Implement
}
@Override
public void setController_impl(MediaController controller) {
// TODO: Implement
}
@Override
public void setAnchorView_impl(View view) {
// TODO: Implement
}
@Override
public void show_impl() {
// TODO: Implement
}
@Override
public void show_impl(int timeout) {
// TODO: Implement
}
@Override
public boolean isShowing_impl() {
// TODO: Implement
return false;
}
@Override
public void hide_impl() {
// TODO: Implement
}
@Override
public void setPrevNextListeners_impl(OnClickListener next, OnClickListener prev) {
// TODO: Implement
}
@Override
public void showCCButton_impl() {
// TODO: Implement
}
@Override
public boolean isPlaying_impl() {
// TODO: Implement
return false;
}
@Override
public int getCurrentPosition_impl() {
// TODO: Implement
return 0;
}
@Override
public int getBufferPercentage_impl() {
// TODO: Implement
return 0;
}
@Override
public boolean canPause_impl() {
// TODO: Implement
return false;
}
@Override
public boolean canSeekBackward_impl() {
// TODO: Implement
return false;
}
@Override
public boolean canSeekForward_impl() {
// TODO: Implement
return false;
}
@Override
public void showSubtitle_impl() {
// TODO: Implement
}
@Override
public void hideSubtitle_impl() {
// TODO: Implement
}
@Override
public void onAttachedToWindow_impl() {
mSuperProvider.onAttachedToWindow_impl();
// TODO: Implement
}
@Override
public void onDetachedFromWindow_impl() {
mSuperProvider.onDetachedFromWindow_impl();
// TODO: Implement
}
@Override
public void onLayout_impl(boolean changed, int left, int top, int right, int bottom) {
mSuperProvider.onLayout_impl(changed, left, top, right, bottom);
// TODO: Implement
}
@Override
public void draw_impl(Canvas canvas) {
mSuperProvider.draw_impl(canvas);
// TODO: Implement
}
@Override
public CharSequence getAccessibilityClassName_impl() {
// TODO: Implement
return MediaController2.class.getName();
}
@Override
public boolean onTouchEvent_impl(MotionEvent ev) {
// TODO: Implement
return mSuperProvider.onTouchEvent_impl(ev);
}
@Override
public boolean onTrackballEvent_impl(MotionEvent ev) {
// TODO: Implement
return mSuperProvider.onTrackballEvent_impl(ev);
}
@Override
public boolean onKeyDown_impl(int keyCode, KeyEvent event) {
// TODO: Implement
return mSuperProvider.onKeyDown_impl(keyCode, event);
}
@Override
public void onFinishInflate_impl() {
mSuperProvider.onFinishInflate_impl();
// TODO: Implement
}
@Override
public boolean dispatchKeyEvent_impl(KeyEvent event) {
// TODO: Implement
return mSuperProvider.dispatchKeyEvent_impl(event);
}
@Override
public void setEnabled_impl(boolean enabled) {
mSuperProvider.setEnabled_impl(enabled);
// TODO: Implement
}
}
Loading…
Cancel
Save