SlideShare a Scribd company logo
1 of 25
DIVING INTO ANDROID
ENTERPRISE APIS WITH
CALYXOS
Aayush Gupta
About Me
• Independent Contractor
• Android Dev @ The Calyx Institute
• Senior Staff & DevRel @ XDA Developers
• Organizer @ GDG Bhilai
• FOSS Contributor
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
2
MARCH 23
Agenda
• About Us (Institute & OS)
• Android Enterprise APIs
• CalyxOS & Work Profiles
• Bellis (Work Profile Manager)
• More Features
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
3
ABOUT US
The Calyx Institute and CalyxOS
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
4
The Calyx Institute
• A Non-Profit Education and Research
Organization
• Devoted to Studying, Testing,
Developing and Implementing Privacy
Tech & Tools
• Develops & Maintains CalyxOS
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
5
CalyxOS
• Alternative Android Firmware based
upon AOSP
• User friendly
• Focuses on Privacy & Security
• Completely FOSS
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
6
/CalyxOS /CalyxOS
ANDROID ENTERPRISE
APIS
A set of APIs and other tools provided by Google for developers to build
enterprise management solutions for Android devices.
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
7
Android Enterprise
APIs
Android provides organizations with a
secure and flexible mobility platform—
combining devices, apps, and
management.
• Work Profiles
• Managed Configurations
• Dedicated Devices
• Single Sign-On (SSO)
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
8
Work Profiles
A self-contained profile on an Android
device that isolates work apps and data
from personal apps and data.
• Controlled by an IT Admin
• Separate Apps & Data From Personal
Profile (Primary)
• Also referred as Managed Profiles
• Most Intent Do Not Cross Profiles
• System Apps Can Be Limited
• Separate Storage Areas
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
9
Managed Configurations
Managed configurations, allow the
organization's IT admin to remotely
specify settings for apps
• Enables IT Admin to Change App
Settings
• Previously Known as Application
Restrictions
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
10
CALYXOS & WORK
PROFILES
Features and Development
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
11
CalyxOS & Work Profiles
• Created & Managed by User
• Cross-Profile Sharing (In-App Share)
• Permission Auto-Revoke for Work Profiles
• File Operations Across Profiles (Files App, Work
Instance)
• Connected Work & Personal Apps
• Apps & Content Access Management (Bellis)
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
12
BELLIS
Bellis is a Work Profile manager app, based upon the Android
BasicManagedProfile Sample.
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
13
Bellis
• Based upon the Android
BasicManagedProfile Sample
• Simple and Easy UI/UX
• Kotlin and Material3
• Compatible With Both AOSP and
Gradle Build Systems
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
14
Bellis (Cont.)
• Primary Button Triggers Provision
• Once Provision is Complete, Bellis
receives an Activity Intent, Namely
ACTION_PROVISIONING_SUCCESSFUL
• Bellis Sets Profile Name & Owner, Enables
Default Apps and Removes Some
Restrictions
• Redirects User to Setup Wizard
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
15
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
16
private fun provisionManagedProfile(context: Context) {
val intent = Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE).apply {
val component = BasicDeviceAdminReceiver.getComponentName(context)
putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
component)
putExtra(
DevicePolicyManager.EXTRA_PROVISIONING_MODE,
DevicePolicyManager.PROVISIONING_MODE_MANAGED_PROFILE_ON_PERSONAL_DEVICE
)
}
try {
startForResult.launch(intent)
activity?.finish()
} catch (exception: ActivityNotFoundException) {
Toast.makeText(
context,
context.getString(R.string.managed_provisioning_not_enabled),
Toast.LENGTH_SHORT
).show()
}
} [Bellis Code]
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
17
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
when (intent.action) {
DevicePolicyManager.ACTION_PROVISIONING_SUCCESSFUL -> {
PostProvisioningHelper.completeProvisioning(this)
launchSUW()
}
}
}
private fun launchSUW() {
val setupWizard = "org.lineageos.setupwizard"
val setupWizardActivity = ".SetupWizardActivity"
val intent = Intent(Intent.ACTION_MAIN).apply {
setClassName(setupWizard, setupWizard + setupWizardActivity)
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
startActivity(intent)
}
}
[Bellis Code]
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
18
Bellis (Cont.)
• On Completing Setup, User Finds
Themselves On Bellis (Work Profile
Instance)
• Fragment Contains Two Buttons Allowing
Users Either To Manage or Delete Work
Profile
• Manage Button Launches Intent in
Settings App
• Delete Button Shows DialogFragment for
Deleting Work Profile
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
19
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
view.findViewById<Toolbar>(R.id.toolbar)?.setOnMenuItemClickListener {
when (it.itemId) {
R.id.removeProfile -> RemoveProfileDialogFragment.show(this)
else -> Log.d(TAG, "Unexpected itemId: ${it.itemId}")
}
true
}
view.findViewById<View>(R.id.app_and_content_access)?.setOnClickListener {
val intent = Intent(userSettings).apply {
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)
putExtra(Intent.EXTRA_USER, Process.myUserHandle())
}
it.context.startActivity(intent)
}
}
[Bellis Code]
Intent("android.settings.USER_SETTINGS").apply {
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
20
UserHandle userHandle = getIntent().getParcelableExtra(Intent.EXTRA_USER, UserHandle.class);
if (userHandle != null) {
int userId = userHandle.getIdentifier();
if (mUserManager.isManagedProfile(userId)) {
openUserDetails(mUserManager.getUserInfo(userId), true);
}
}
[Settings Code]
MORE FEATURES
Other Options, Security Levels, Multiple Profiles and more
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
21
Other Options
• Contains Options Used by Users
Frequently (Contained in Developer
Options) for Security & Privacy Gains
• Maintains Security Requirement for
Certain Switches
• Available When
DISALLOW_DEBUGGING_FEATURES
Restriction is Set
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
22
Multiple Profiles
• Allows Provisioning Multiple Managed
Profiles
• Isolate apps not just from your
workplace but from each other
• Turn off entire sets of apps at once
• Protect and encrypt some apps with a
separate passphrase
• Use different VPNs for different
profiles
• Currently in Development
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
23
Security Levels
• Configurable Device Security Level
• Offers Three Different Levels, Inspired
From Tor Browser
• Standard Offers Default Features
• Safer Builds Upon Standard, Sets
Default Timeout for Wi-Fi, Bluetooth
and Device Reboot, Sets Orbot as
Always-On-VPN
• Safest Builds Upon Safer, Sets
DISALLOW_INSTALL_UNKNOWN_SO
URCES_GLOBALLY and
DISALLOW_DEBUGGING_FEATURES
Restrictions, and More
• Currently in Development
MARCH 23
DIVING INTO ANDROID ENTERPRISE APIS
WITH CALYXOS
24
THANK YOU
CONNECT WITH US

More Related Content

Similar to Diving into Android Enterprise APIs with CalyxOS.pptx

BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure AD
BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure ADBlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure AD
BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure ADBlueHat Security Conference
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business ToolkitVan Staub, MBA
 
Social Networking using ROR
Social Networking using RORSocial Networking using ROR
Social Networking using RORDhaval Patel
 
Enter the World of PowerApps - Canvas vs. Model-Driven Apps
Enter the World of PowerApps - Canvas vs. Model-Driven AppsEnter the World of PowerApps - Canvas vs. Model-Driven Apps
Enter the World of PowerApps - Canvas vs. Model-Driven AppsDaniel Laskewitz
 
AppliFire Blue Print Design Guidelines
AppliFire Blue Print Design GuidelinesAppliFire Blue Print Design Guidelines
AppliFire Blue Print Design GuidelinesAppliFire Platform
 
How does Quest Software fit into a Microsoft hybrid environment?
How does Quest Software fit into a Microsoft hybrid environment?How does Quest Software fit into a Microsoft hybrid environment?
How does Quest Software fit into a Microsoft hybrid environment?Xylos
 
Community call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformCommunity call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformMicrosoft 365 Developer
 
Microsoft Azure Kimlik Yönetimi
Microsoft Azure Kimlik YönetimiMicrosoft Azure Kimlik Yönetimi
Microsoft Azure Kimlik YönetimiÖnder Değer
 
Llunitebe2018 ten practical tips to secure your corporate data with microsoft...
Llunitebe2018 ten practical tips to secure your corporate data with microsoft...Llunitebe2018 ten practical tips to secure your corporate data with microsoft...
Llunitebe2018 ten practical tips to secure your corporate data with microsoft...Kenny Buntinx
 
Atlassian jira как полностью раскрыть возможности
Atlassian jira   как полностью раскрыть возможностиAtlassian jira   как полностью раскрыть возможности
Atlassian jira как полностью раскрыть возможностиAndrew Fadeev
 
Fuel Good 2018: What's New and Coming Up in D365 CRM?
Fuel Good 2018: What's New and Coming Up in D365 CRM?Fuel Good 2018: What's New and Coming Up in D365 CRM?
Fuel Good 2018: What's New and Coming Up in D365 CRM?Sparkrock
 
Microsoft Cloud Identity and Access Management Poster - Atidan
Microsoft Cloud Identity and Access Management Poster - AtidanMicrosoft Cloud Identity and Access Management Poster - Atidan
Microsoft Cloud Identity and Access Management Poster - AtidanDavid J Rosenthal
 
Ms cloud identity and access infographic 2015
Ms cloud identity and access infographic 2015Ms cloud identity and access infographic 2015
Ms cloud identity and access infographic 2015Kesavan Munuswamy
 
MS Cloud Identity and Access Infographic 2015 (1)
MS Cloud Identity and Access Infographic 2015 (1)MS Cloud Identity and Access Infographic 2015 (1)
MS Cloud Identity and Access Infographic 2015 (1)Luís Serra Libório
 
Azure from scratch part 2 By Girish Kalamati
Azure from scratch part 2 By Girish KalamatiAzure from scratch part 2 By Girish Kalamati
Azure from scratch part 2 By Girish KalamatiGirish Kalamati
 
Colombo Mobile Developer MeetUp - Building Scalable Cloud Connected Mobile Ap...
Colombo Mobile Developer MeetUp - Building Scalable Cloud Connected Mobile Ap...Colombo Mobile Developer MeetUp - Building Scalable Cloud Connected Mobile Ap...
Colombo Mobile Developer MeetUp - Building Scalable Cloud Connected Mobile Ap...99X Technology
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Kris Wagner
 
Backstage 2019 - The Atlassian Journey with Amplitude - Itzik Feldman
Backstage 2019 - The Atlassian Journey with Amplitude - Itzik FeldmanBackstage 2019 - The Atlassian Journey with Amplitude - Itzik Feldman
Backstage 2019 - The Atlassian Journey with Amplitude - Itzik FeldmanAmplitude
 

Similar to Diving into Android Enterprise APIs with CalyxOS.pptx (20)

JAM23-24_ppt.pptx
JAM23-24_ppt.pptxJAM23-24_ppt.pptx
JAM23-24_ppt.pptx
 
Fire up your mobile app!
Fire up your mobile app!Fire up your mobile app!
Fire up your mobile app!
 
BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure AD
BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure ADBlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure AD
BlueHat Seattle 2019 || I'm in your cloud: A year of hacking Azure AD
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
 
Social Networking using ROR
Social Networking using RORSocial Networking using ROR
Social Networking using ROR
 
Enter the World of PowerApps - Canvas vs. Model-Driven Apps
Enter the World of PowerApps - Canvas vs. Model-Driven AppsEnter the World of PowerApps - Canvas vs. Model-Driven Apps
Enter the World of PowerApps - Canvas vs. Model-Driven Apps
 
AppliFire Blue Print Design Guidelines
AppliFire Blue Print Design GuidelinesAppliFire Blue Print Design Guidelines
AppliFire Blue Print Design Guidelines
 
How does Quest Software fit into a Microsoft hybrid environment?
How does Quest Software fit into a Microsoft hybrid environment?How does Quest Software fit into a Microsoft hybrid environment?
How does Quest Software fit into a Microsoft hybrid environment?
 
Community call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platformCommunity call: Develop multi tenant apps with the Microsoft identity platform
Community call: Develop multi tenant apps with the Microsoft identity platform
 
Microsoft Azure Kimlik Yönetimi
Microsoft Azure Kimlik YönetimiMicrosoft Azure Kimlik Yönetimi
Microsoft Azure Kimlik Yönetimi
 
Llunitebe2018 ten practical tips to secure your corporate data with microsoft...
Llunitebe2018 ten practical tips to secure your corporate data with microsoft...Llunitebe2018 ten practical tips to secure your corporate data with microsoft...
Llunitebe2018 ten practical tips to secure your corporate data with microsoft...
 
Atlassian jira как полностью раскрыть возможности
Atlassian jira   как полностью раскрыть возможностиAtlassian jira   как полностью раскрыть возможности
Atlassian jira как полностью раскрыть возможности
 
Fuel Good 2018: What's New and Coming Up in D365 CRM?
Fuel Good 2018: What's New and Coming Up in D365 CRM?Fuel Good 2018: What's New and Coming Up in D365 CRM?
Fuel Good 2018: What's New and Coming Up in D365 CRM?
 
Microsoft Cloud Identity and Access Management Poster - Atidan
Microsoft Cloud Identity and Access Management Poster - AtidanMicrosoft Cloud Identity and Access Management Poster - Atidan
Microsoft Cloud Identity and Access Management Poster - Atidan
 
Ms cloud identity and access infographic 2015
Ms cloud identity and access infographic 2015Ms cloud identity and access infographic 2015
Ms cloud identity and access infographic 2015
 
MS Cloud Identity and Access Infographic 2015 (1)
MS Cloud Identity and Access Infographic 2015 (1)MS Cloud Identity and Access Infographic 2015 (1)
MS Cloud Identity and Access Infographic 2015 (1)
 
Azure from scratch part 2 By Girish Kalamati
Azure from scratch part 2 By Girish KalamatiAzure from scratch part 2 By Girish Kalamati
Azure from scratch part 2 By Girish Kalamati
 
Colombo Mobile Developer MeetUp - Building Scalable Cloud Connected Mobile Ap...
Colombo Mobile Developer MeetUp - Building Scalable Cloud Connected Mobile Ap...Colombo Mobile Developer MeetUp - Building Scalable Cloud Connected Mobile Ap...
Colombo Mobile Developer MeetUp - Building Scalable Cloud Connected Mobile Ap...
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365
 
Backstage 2019 - The Atlassian Journey with Amplitude - Itzik Feldman
Backstage 2019 - The Atlassian Journey with Amplitude - Itzik FeldmanBackstage 2019 - The Atlassian Journey with Amplitude - Itzik Feldman
Backstage 2019 - The Atlassian Journey with Amplitude - Itzik Feldman
 

Recently uploaded

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 

Recently uploaded (20)

College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 

Diving into Android Enterprise APIs with CalyxOS.pptx

  • 1. DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS Aayush Gupta
  • 2. About Me • Independent Contractor • Android Dev @ The Calyx Institute • Senior Staff & DevRel @ XDA Developers • Organizer @ GDG Bhilai • FOSS Contributor DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 2 MARCH 23
  • 3. Agenda • About Us (Institute & OS) • Android Enterprise APIs • CalyxOS & Work Profiles • Bellis (Work Profile Manager) • More Features MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 3
  • 4. ABOUT US The Calyx Institute and CalyxOS MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 4
  • 5. The Calyx Institute • A Non-Profit Education and Research Organization • Devoted to Studying, Testing, Developing and Implementing Privacy Tech & Tools • Develops & Maintains CalyxOS MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 5
  • 6. CalyxOS • Alternative Android Firmware based upon AOSP • User friendly • Focuses on Privacy & Security • Completely FOSS MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 6 /CalyxOS /CalyxOS
  • 7. ANDROID ENTERPRISE APIS A set of APIs and other tools provided by Google for developers to build enterprise management solutions for Android devices. MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 7
  • 8. Android Enterprise APIs Android provides organizations with a secure and flexible mobility platform— combining devices, apps, and management. • Work Profiles • Managed Configurations • Dedicated Devices • Single Sign-On (SSO) MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 8
  • 9. Work Profiles A self-contained profile on an Android device that isolates work apps and data from personal apps and data. • Controlled by an IT Admin • Separate Apps & Data From Personal Profile (Primary) • Also referred as Managed Profiles • Most Intent Do Not Cross Profiles • System Apps Can Be Limited • Separate Storage Areas MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 9
  • 10. Managed Configurations Managed configurations, allow the organization's IT admin to remotely specify settings for apps • Enables IT Admin to Change App Settings • Previously Known as Application Restrictions MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 10
  • 11. CALYXOS & WORK PROFILES Features and Development MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 11
  • 12. CalyxOS & Work Profiles • Created & Managed by User • Cross-Profile Sharing (In-App Share) • Permission Auto-Revoke for Work Profiles • File Operations Across Profiles (Files App, Work Instance) • Connected Work & Personal Apps • Apps & Content Access Management (Bellis) MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 12
  • 13. BELLIS Bellis is a Work Profile manager app, based upon the Android BasicManagedProfile Sample. MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 13
  • 14. Bellis • Based upon the Android BasicManagedProfile Sample • Simple and Easy UI/UX • Kotlin and Material3 • Compatible With Both AOSP and Gradle Build Systems MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 14
  • 15. Bellis (Cont.) • Primary Button Triggers Provision • Once Provision is Complete, Bellis receives an Activity Intent, Namely ACTION_PROVISIONING_SUCCESSFUL • Bellis Sets Profile Name & Owner, Enables Default Apps and Removes Some Restrictions • Redirects User to Setup Wizard MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 15
  • 16. MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 16 private fun provisionManagedProfile(context: Context) { val intent = Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE).apply { val component = BasicDeviceAdminReceiver.getComponentName(context) putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, component) putExtra( DevicePolicyManager.EXTRA_PROVISIONING_MODE, DevicePolicyManager.PROVISIONING_MODE_MANAGED_PROFILE_ON_PERSONAL_DEVICE ) } try { startForResult.launch(intent) activity?.finish() } catch (exception: ActivityNotFoundException) { Toast.makeText( context, context.getString(R.string.managed_provisioning_not_enabled), Toast.LENGTH_SHORT ).show() } } [Bellis Code]
  • 17. MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 17 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main_activity) when (intent.action) { DevicePolicyManager.ACTION_PROVISIONING_SUCCESSFUL -> { PostProvisioningHelper.completeProvisioning(this) launchSUW() } } } private fun launchSUW() { val setupWizard = "org.lineageos.setupwizard" val setupWizardActivity = ".SetupWizardActivity" val intent = Intent(Intent.ACTION_MAIN).apply { setClassName(setupWizard, setupWizard + setupWizardActivity) addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) } startActivity(intent) } } [Bellis Code]
  • 18. MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 18 Bellis (Cont.) • On Completing Setup, User Finds Themselves On Bellis (Work Profile Instance) • Fragment Contains Two Buttons Allowing Users Either To Manage or Delete Work Profile • Manage Button Launches Intent in Settings App • Delete Button Shows DialogFragment for Deleting Work Profile
  • 19. MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 19 override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) view.findViewById<Toolbar>(R.id.toolbar)?.setOnMenuItemClickListener { when (it.itemId) { R.id.removeProfile -> RemoveProfileDialogFragment.show(this) else -> Log.d(TAG, "Unexpected itemId: ${it.itemId}") } true } view.findViewById<View>(R.id.app_and_content_access)?.setOnClickListener { val intent = Intent(userSettings).apply { addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY) putExtra(Intent.EXTRA_USER, Process.myUserHandle()) } it.context.startActivity(intent) } } [Bellis Code] Intent("android.settings.USER_SETTINGS").apply {
  • 20. MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 20 UserHandle userHandle = getIntent().getParcelableExtra(Intent.EXTRA_USER, UserHandle.class); if (userHandle != null) { int userId = userHandle.getIdentifier(); if (mUserManager.isManagedProfile(userId)) { openUserDetails(mUserManager.getUserInfo(userId), true); } } [Settings Code]
  • 21. MORE FEATURES Other Options, Security Levels, Multiple Profiles and more MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 21
  • 22. Other Options • Contains Options Used by Users Frequently (Contained in Developer Options) for Security & Privacy Gains • Maintains Security Requirement for Certain Switches • Available When DISALLOW_DEBUGGING_FEATURES Restriction is Set MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 22
  • 23. Multiple Profiles • Allows Provisioning Multiple Managed Profiles • Isolate apps not just from your workplace but from each other • Turn off entire sets of apps at once • Protect and encrypt some apps with a separate passphrase • Use different VPNs for different profiles • Currently in Development MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 23
  • 24. Security Levels • Configurable Device Security Level • Offers Three Different Levels, Inspired From Tor Browser • Standard Offers Default Features • Safer Builds Upon Standard, Sets Default Timeout for Wi-Fi, Bluetooth and Device Reboot, Sets Orbot as Always-On-VPN • Safest Builds Upon Safer, Sets DISALLOW_INSTALL_UNKNOWN_SO URCES_GLOBALLY and DISALLOW_DEBUGGING_FEATURES Restrictions, and More • Currently in Development MARCH 23 DIVING INTO ANDROID ENTERPRISE APIS WITH CALYXOS 24