xref: /aosp_15_r20/development/tools/ota_analysis/src/views/Demo.vue (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker<template>
2*90c8c64dSAndroid Build Coastguard Worker  <v-row>
3*90c8c64dSAndroid Build Coastguard Worker    <v-col
4*90c8c64dSAndroid Build Coastguard Worker      cols="12"
5*90c8c64dSAndroid Build Coastguard Worker      md="6"
6*90c8c64dSAndroid Build Coastguard Worker    >
7*90c8c64dSAndroid Build Coastguard Worker      <PayloadDetail
8*90c8c64dSAndroid Build Coastguard Worker        v-if="zipFile && payload"
9*90c8c64dSAndroid Build Coastguard Worker        :zipFile="zipFile"
10*90c8c64dSAndroid Build Coastguard Worker        :payload="payload"
11*90c8c64dSAndroid Build Coastguard Worker      />
12*90c8c64dSAndroid Build Coastguard Worker    </v-col>
13*90c8c64dSAndroid Build Coastguard Worker    <v-divider
14*90c8c64dSAndroid Build Coastguard Worker      vertical
15*90c8c64dSAndroid Build Coastguard Worker    />
16*90c8c64dSAndroid Build Coastguard Worker    <v-col
17*90c8c64dSAndroid Build Coastguard Worker      cols="12"
18*90c8c64dSAndroid Build Coastguard Worker      md="6"
19*90c8c64dSAndroid Build Coastguard Worker    >
20*90c8c64dSAndroid Build Coastguard Worker      <PayloadComposition
21*90c8c64dSAndroid Build Coastguard Worker        v-if="zipFile && payload.manifest"
22*90c8c64dSAndroid Build Coastguard Worker        :manifest="payload.manifest"
23*90c8c64dSAndroid Build Coastguard Worker        :demo="true"
24*90c8c64dSAndroid Build Coastguard Worker      />
25*90c8c64dSAndroid Build Coastguard Worker    </v-col>
26*90c8c64dSAndroid Build Coastguard Worker  </v-row>
27*90c8c64dSAndroid Build Coastguard Worker</template>
28*90c8c64dSAndroid Build Coastguard Worker
29*90c8c64dSAndroid Build Coastguard Worker<script>
30*90c8c64dSAndroid Build Coastguard Workerimport axios from 'axios'
31*90c8c64dSAndroid Build Coastguard Workerimport PayloadDetail from '@/components/PayloadDetail.vue'
32*90c8c64dSAndroid Build Coastguard Workerimport PayloadComposition from '@/components/PayloadComposition.vue'
33*90c8c64dSAndroid Build Coastguard Workerimport { Payload } from '@/services/payload.js'
34*90c8c64dSAndroid Build Coastguard Worker
35*90c8c64dSAndroid Build Coastguard Workerexport default {
36*90c8c64dSAndroid Build Coastguard Worker  components: {
37*90c8c64dSAndroid Build Coastguard Worker    PayloadDetail,
38*90c8c64dSAndroid Build Coastguard Worker    PayloadComposition,
39*90c8c64dSAndroid Build Coastguard Worker  },
40*90c8c64dSAndroid Build Coastguard Worker  data() {
41*90c8c64dSAndroid Build Coastguard Worker    return {
42*90c8c64dSAndroid Build Coastguard Worker      zipFile: null,
43*90c8c64dSAndroid Build Coastguard Worker      payload: null,
44*90c8c64dSAndroid Build Coastguard Worker    }
45*90c8c64dSAndroid Build Coastguard Worker  },
46*90c8c64dSAndroid Build Coastguard Worker  async created() {
47*90c8c64dSAndroid Build Coastguard Worker    // put cf_x86_demo.zip and cf_x86_target_file_demo into
48*90c8c64dSAndroid Build Coastguard Worker    // this directory: /public/files
49*90c8c64dSAndroid Build Coastguard Worker    try {
50*90c8c64dSAndroid Build Coastguard Worker      const download = await axios.get(
51*90c8c64dSAndroid Build Coastguard Worker        './files/cf_x86_demo.zip',
52*90c8c64dSAndroid Build Coastguard Worker        {responseType: 'blob'}
53*90c8c64dSAndroid Build Coastguard Worker      )
54*90c8c64dSAndroid Build Coastguard Worker      this.zipFile = new File([download.data], 'ota_demo.zip')
55*90c8c64dSAndroid Build Coastguard Worker      this.payload = new Payload(this.zipFile)
56*90c8c64dSAndroid Build Coastguard Worker      await this.payload.init()
57*90c8c64dSAndroid Build Coastguard Worker    } catch (err) {
58*90c8c64dSAndroid Build Coastguard Worker      console.log('Please put a proper example OTA in /public/files/')
59*90c8c64dSAndroid Build Coastguard Worker    }
60*90c8c64dSAndroid Build Coastguard Worker  },
61*90c8c64dSAndroid Build Coastguard Worker  methods: {
62*90c8c64dSAndroid Build Coastguard Worker    async unpackOTA(files) {
63*90c8c64dSAndroid Build Coastguard Worker      this.zipFile = files[0]
64*90c8c64dSAndroid Build Coastguard Worker      try {
65*90c8c64dSAndroid Build Coastguard Worker        this.payload = new Payload(this.zipFile)
66*90c8c64dSAndroid Build Coastguard Worker        await this.payload.init()
67*90c8c64dSAndroid Build Coastguard Worker      } catch (err) {
68*90c8c64dSAndroid Build Coastguard Worker        alert('Please check if this is a correct OTA package (.zip).')
69*90c8c64dSAndroid Build Coastguard Worker        console.log(err)
70*90c8c64dSAndroid Build Coastguard Worker      }
71*90c8c64dSAndroid Build Coastguard Worker    },
72*90c8c64dSAndroid Build Coastguard Worker  },
73*90c8c64dSAndroid Build Coastguard Worker}
74*90c8c64dSAndroid Build Coastguard Worker</script>
75