Merge "Expose EthernetDevice to custom UIs" am: 0feaf90f92
am: 6ab06e1de6
am: c115e8acb9
Original change: https://android-review.googlesource.com/c/platform/bootable/recovery/+/1491198 Change-Id: Id05a6dc8f4a2380fd11b57fd51a8868f18f29daf
This commit is contained in:
commit
849a2c44c7
4 changed files with 68 additions and 21 deletions
|
@ -22,6 +22,7 @@ cc_library {
|
|||
|
||||
srcs: [
|
||||
"device.cpp",
|
||||
"ethernet_device.cpp",
|
||||
"ethernet_ui.cpp",
|
||||
"screen_ui.cpp",
|
||||
"stub_ui.cpp",
|
||||
|
@ -102,7 +103,7 @@ cc_library_static {
|
|||
],
|
||||
|
||||
srcs: [
|
||||
"ethernet_device.cpp",
|
||||
"default_ethernet_device.cpp",
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
|
|
23
recovery_ui/default_ethernet_device.cpp
Normal file
23
recovery_ui/default_ethernet_device.cpp
Normal file
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright (C) 2020 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.
|
||||
*/
|
||||
|
||||
#include "recovery_ui/device.h"
|
||||
#include "recovery_ui/ethernet_device.h"
|
||||
#include "recovery_ui/ethernet_ui.h"
|
||||
|
||||
Device* make_device() {
|
||||
return new EthernetDevice(new EthernetRecoveryUI);
|
||||
}
|
|
@ -27,23 +27,9 @@
|
|||
#include <sys/types.h>
|
||||
|
||||
#include "recovery_ui/device.h"
|
||||
#include "recovery_ui/ethernet_device.h"
|
||||
#include "recovery_ui/ethernet_ui.h"
|
||||
|
||||
class EthernetDevice : public Device {
|
||||
public:
|
||||
explicit EthernetDevice(EthernetRecoveryUI* ui);
|
||||
|
||||
void PreRecovery() override;
|
||||
void PreFastboot() override;
|
||||
|
||||
private:
|
||||
int SetInterfaceFlags(const unsigned set, const unsigned clr);
|
||||
void SetTitleIPv6LinkLocalAddress(const bool interface_up);
|
||||
|
||||
android::base::unique_fd ctl_sock_;
|
||||
static const std::string interface;
|
||||
};
|
||||
|
||||
const std::string EthernetDevice::interface = "eth0";
|
||||
|
||||
EthernetDevice::EthernetDevice(EthernetRecoveryUI* ui)
|
||||
|
@ -129,8 +115,3 @@ void EthernetDevice::SetTitleIPv6LinkLocalAddress(const bool interface_up) {
|
|||
|
||||
recovery_ui->SetIPv6LinkLocalAddress();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------
|
||||
Device* make_device() {
|
||||
return new EthernetDevice(new EthernetRecoveryUI);
|
||||
}
|
||||
|
|
42
recovery_ui/include/recovery_ui/ethernet_device.h
Normal file
42
recovery_ui/include/recovery_ui/ethernet_device.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* Copyright (C) 2020 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.
|
||||
*/
|
||||
|
||||
#ifndef _ETHERNET_RECOVERY_DEVICE_H
|
||||
#define _ETHERNET_RECOVERY_DEVICE_H
|
||||
|
||||
#include "device.h"
|
||||
|
||||
#include <android-base/unique_fd.h>
|
||||
|
||||
// Forward declaration to avoid including "ethernet_ui.h".
|
||||
class EthernetRecoveryUI;
|
||||
|
||||
class EthernetDevice : public Device {
|
||||
public:
|
||||
explicit EthernetDevice(EthernetRecoveryUI* ui);
|
||||
|
||||
void PreRecovery() override;
|
||||
void PreFastboot() override;
|
||||
|
||||
private:
|
||||
int SetInterfaceFlags(const unsigned set, const unsigned clr);
|
||||
void SetTitleIPv6LinkLocalAddress(const bool interface_up);
|
||||
|
||||
android::base::unique_fd ctl_sock_;
|
||||
static const std::string interface;
|
||||
};
|
||||
|
||||
#endif // _ETHERNET_RECOVERY_DEVICE_H
|
Loading…
Reference in a new issue