/*
* Tencent is pleased to support the open source community by making Tinker available.
*
* Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the BSD 3-Clause License (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
*
* https://opensource.org/licenses/BSD-3-Clause
*
* 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.tencent.tinker.loader.app;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.res.AssetManager;
import android.content.res.Configuration;
import android.content.res.Resources;
/**
* Created by zhangshaowen on 16/7/28.
*/
public abstract class ApplicationLike implements ApplicationLifeCycle {
private final Application application;
private final Intent tinkerResultIntent;
private final long applicationStartElapsedTime;
private final long applicationStartMillisTime;
private final int tinkerFlags;
private final boolean tinkerLoadVerifyFlag;
public ApplicationLike(Application application, int tinkerFlags, boolean tinkerLoadVerifyFlag,
long applicationStartElapsedTime, long applicationStartMillisTime, Intent tinkerResultIntent) {
this.application = application;
this.tinkerFlags = tinkerFlags;
this.tinkerLoadVerifyFlag = tinkerLoadVerifyFlag;
this.applicationStartElapsedTime = applicationStartElapsedTime;
this.applicationStartMillisTime = applicationStartMillisTime;
this.tinkerResultIntent = tinkerResultIntent;
}
public Application getApplication() {
return application;
}
public final Intent getTinkerResultIntent() {
return tinkerResultIntent;
}
public final int getTinkerFlags() {
return tinkerFlags;
}
public final boolean getTinkerLoadVerifyFlag() {
return tinkerLoadVerifyFlag;
}
public long getApplicationStartElapsedTime() {
return applicationStartElapsedTime;
}
public long getApplicationStartMillisTime() {
return applicationStartMillisTime;
}
@Override
public void onCreate() {
}
@Override
public void onLowMemory() {
}
@Override
public void onTrimMemory(int level) {
}
@Override
public void onTerminate() {
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
}
@Override
public void onBaseContextAttached(Context base) {
}
//some get methods that may be overwrite
public Resources getResources(Resources resources) {
return resources;
}
public ClassLoader getClassLoader(ClassLoader classLoader) {
return classLoader;
}
public AssetManager getAssets(AssetManager assetManager) {
return assetManager;
}
public Object getSystemService(String name, Object service) {
return service;
}
public Context getBaseContext(Context base) {
return base;
}
}